9. 백업 및 리커버리 실행
1-1. 백업, 리스토어, 리커버리
- 백업 : 데이터를 재구축하기위해 사용할 수 있는 데이터베이스의 복사본이다. 물리백업과 논리백업이 있다.
- RMAN 을 사용하여 데이터베이스를 구성하는 물리파일을 디스크 또는 테이프에 복사한다.
- 제어파일, 아카이브REDO로그파일(온라인REDO로그파일의복사본), 데이터파일, 서버파라미터파일
- 리스토어 : 백업해서 둔 복사본을 문제가 생긴 파일을 대체하기 위해 원래의 장소 또는 새 장소에 복사하는 작업
- 데이터베이스 장애가 발생했을 경우 백업을 리스토어 하여 리커버리 한다.
- 리커버리 : 리스토어한 데이터파일에 REDO로그파일을 적용하는 것으로 데이터파일에 반영되어있지 않은 변경정보를 반영하는 작업이다.
- REDO로그파일에는, 백업이후, 현재까지 트랜잭션 변경정보가 기록되어있다.
1-2. 백업의 타입
- 일관성백업은, 데이터베이스를 정상적으로 클로즈하여, 인스턴스를 정지하고 취득한다. 리스토어 후 바로 데이터베이스를 오픈 할 수 있다.
- 비일관성백업은, 데이터베이스가 오픈되어있는 상태라도 취득할 수 있지만, 데이터파일을 리스토어한 후 REDO로그파일을 사용해서 리커버리를 실행할 피룡가 있다.
1-3. 오라클데이터베이스의 기능
- 인스턴스리커버리(크러쉬리커버리) : 인스턴스장애가 발생한 시점까지 커밋되어있는 트랜잭션의 변경내용을 적용하기 위해, 데이터베이스를 리커버리 한다.
- 인스턴스리커버리는 인스턴스 장애발생 후, 데이터베이스를 재기동할 때 SMON에 따라 자동적으로 실행된다.
- 미디어리커버리는 완전리커버리와 Point-in-Time 리커버리의 2종류가 있다.
- 완전리커버리는 데이터를 잃어버리지않고 데이터베이스를 장애발생직전의 상태까지 돌린다.
- Point-in-Time리커버리(불완전리커버리)는 데이터베이스를 과거의 임의의 시점의 상태로 돌린다.
- 인스턴스장애에서 회복 - 인스턴스리커버리, 미디어장애에서 회복 - 미디어리커버리, 유저에러에서 리커버리 - 플래시백기능
1-4. 백업 및 리커버리를 자동관리하기 위한 데이터베이스 구성
- 고속리커버리 영역은, 각 파일의백업등, 백업/리커버리에 관한 파일을 자동관리하기 위한 영역이다.
- 고속리커버리영역은 충분히 큰 사이즈로 한다. 데이터파일의 완전백업을 2개, 리커버리를 하고자하는 기간내의 이의의시점의 데이터베이스를 리스토어하기 위한 필요한 부분백업, 및 아카이브 REDO로그파일이 저장되는 사이즈
- 고속 리커버리영역은 DB_RECOVERY_FILE_DEST초기화 파라미터, 고속리커버리 영역 사이즈는 DB_RECOVERY_FILE_DEST_SIZE초기화 파라미터에 지정한다.
- 아카이브로그모드와, NO아카이브로그모드가 있다.
2-1. 백업의 분류
- 백업파일에 따른 타입의 분류 : 이미지 복사 -> OS레벨의 데이터파일, 제어파일, 아카이브REDO로그파일의 복사
백업 세트 : RMAN의 BACKUP커맨드에 따라 작성되는 RMAN고유의 형식의 백업. 데이터에 저장에 사용되어진 블록만 백업세트에 포함된다.
- 백업대상에 따른 타입 분류 : 데이터파일의 전체 백업 : 데이터파일 전체, 전체백업 : 백업시점의 데이터전체의 내용이 포함된다.
데이터파일의 부분백업 : 데이터파일의 백업사이에 변경이 있는 블록만 포함된다.
2-2. 데이터 베이스 전체백업을 사용하면, 데이터베이스 모든 데이터파일, 제어파일, 아카이브REDO파일, SPFILE이 이미지 복사 또는 백업세트로 저장된다. 이 일련의 파일에 따라 완전 리커버리 할 수 있다.
2-3 백업의 관리
- RMAN에 따른 백업의 메인터넌스 기능은 다음과 같다.
- RMAN리포지토리에 기록된 백업의 리스트 표시
- 리포지토리의 크로스체크를 하고, 리포지토리에 리스트되어있는 백업의 무효와, 접근가능여부를 식별한다. 접근불가시 EXPIRED(기간만료)를 표시한다.
- RMAN리포지토리에서 기간만료된 백업 기록을 삭제한다.
- RMAN리포지토리와 디스크에서 피룡없어진 백업을 삭제한다.
3-1 리커버리 실행
- 오라클의 추천리커버리 방법은 데이터 리커버리 어드바이저를 사용하는 방법이다.
- 데이터장애가 검출되면, 그 정보는 ADR(자동 진단 리포지토리)에 기록된다.
- 데이터 리커버리 어드바이저는 ADR의 정보를 사용해서 수복어드바이스를 생성하고, 장애의 수복을 실행한다.
- 수복 어드바이스를 생성과 장애의 수복을 실행하는데는, RMAN에서 다음의 순서로 실행한다.
- LIST FAILURE, ADVISE FAILURE, REPAIR FAILURE
3-2. 플래시백 표
- 플래시백 표를 사용하면, 백업을 리스토어하지 안혹, 표를 과거의 시점으로 리커버리한다.
- 플래시백 표를 실행하는데는, 사전에 표의 행이동을 가능하게 해둘 필요가 있다.
- 데이터베이스 관리자가 아니라, 유저가 실행할 경우에는 FLASHBACK TABLE 시스템 권한과 오브잭트에 대한 SELECT, INSERT, DELETE ALTER오브잭트 권한이 필요하다.
3-3. 플래시백 드롭
- 플래시백 드롭을 실행하면, 표의 삭제처리를 무효화하고, 삭제한 표를 원래대로 돌리는 것이 가능하다.