카테고리 없음

Backup & Recovery의 개념

빵순이^^ 2010. 7. 16. 00:17

1. 관리자의 임무

  • 어느 곳에서나 발생할 수 있는 failure로 부터 데이터베이스 보호
  • MTBF(Mean-Time-Between-Failure) 증가
    - 하드웨어를 최대한 신뢰할 수 있고, 중요한 구성 요소가 redundancy로 보호되고, 운영 체제 유지 관리가 적시에 수행되도록 해야 한다.
  • MTTR(Mean-Time-To-Recover) 감소
    - 미리 recovery 프로시저를 연습하고 백업을 구성하여 필요할 때 즉시 사용 가능하도록 해야 한다.
  • 데이터 손실 최소화
    - DBA가 승인된 최적의 사용법을 따르면 커밋된 트랜잭션이 손실되지 않도록 데이터베이스를 구성할 수 있다.

2. Failure 범주

  • Statement failure : 단일 데이터베이스 작업(선택, 삽입, 갱신 또는 삭제)이 실패한다.
  • User process failure : 단일 데이터베이스 세션이 실패한다.
  • Network failure : 데이터베이스 연결이 끊긴다.
  • Instance failure : 데이터베이스 instance가 예상치 않게 종료된다.
  • Media failure : 하나 이상의 데이터베이스 파일이 손실되었다.


Statement Failure


 일반적 문제  가능한 해결 방법
 부적합한 데이터를 테이브렝 입력하려고 시도한 경우  유저와 함께 데이터를 검증하고 수정한다.
 권한이 부족한 상태에서 작업을 수행하려고 시도한 경우  적절한 객체나 시스템 권한을 제공한다.
 공간 할당 시도에 실패한 경우  Resumable Space Allocation을 활성화 한다.
 소유자 할당량을 늘린다.
 테이블스페이스에 공간을 추가한다.
 응용 프로그램에 논리적 오류가 발생한 경우  개발자와 함께 프로그램 오류를 수정한다.



User Process Failure

 일반적 문제  가능한 해결 방법
 유저가 비정상적으로 연결을 끊었다.
 유저 세션이 비정상적으로 종료되었다.
 세션을 종료시키는 프로그램 오류가 발생했다.
 User process failure를 해결하는 데는 대개 DBA 작업이 필요하지 않다.
 instance 백그라운드 프로세스가 커밋되지 않는 변경 사항을 롤백하고 lock을 해제한다.



Network Failure

 일반적 문제  가능한 해결 방법
 리스너가 실패한 경우  백업 리스너와 Connect-time failover를 구성한다.
 NIC(Network Interface Card)가 실패한 경우  다중 네트워크 카드를 구성한다.
 네트워크 연결이 실패한 경우  백업 네트워크 연결을 구성한다.



유저 오류

 일반적 원인  가능한 해결 방법
 유저가 실수로 데이터를 삭제하거나 수정한 경우  롤백하거나 Flashback Query를 사용하여 recovery 한다.
 유저가 테이블을 삭제한 경우  Recycle bin에서 테이블을 recovery 한다.



Instance Failure

 일반적 원인  가능한 해결 방법
 정전
 하드웨어 failure
 백그라운드 프로세스 중 하나의 failure
 비상 종료 프로시저
 "startup" 명령을 사용하여 instance를 재시작 한다.
 Instnace failure의 recovery는 자동으로 이루어진다.
 리두로그의 변경 사항이 롤포워드되고 커밋되지 않은 트랜잭션이 롤백된다.

 Alert log, Trace file 및 EM을 사용하여 failure의 원인을 조사한다.