기본적인 복구 개념과 전략

▶ 중요한 복구 데이터 구조
▶ 복구 작업
▶ 복구 계획과 전략

 

중요한 복구 데이터 구조

복구 프로세스를 포함하는 중요한 데이터 구조

테이터 구조

설명

제어 파일

데이터베이스의 물리적 구조에 대한 정보를 설명하고 유지관리하는 레코드 포함
데이터베이스 사용 중에 계속 갱신되며 데이터베이스가 열려 있는 동안에는 언제든지 기록 가능해야 함
액세스할 수 없으면 데이터베이스는 정상적으로 작동하지 않음 

시스템 변경 번호(SCN)

오라클 데이터베이스의 커밋된 데이터베이스 버전을 설명하는 시계 값.
데이터베이스의 시퀀스 생성기로 작동하며 동시성과 리두 레코드 순서를 제어.
트랜잭션의 일관성을 보증하는 시간 기록과 같음. 

리두 레코드

데이터베이스의 변경 사항 하나를 설명하는 변경벡터 그룹.
모든 데이터 블록 변경 사항에 대해 구축되며 디스크상의 리두 로그에 저장.
리두 레코드를 사용하여 장애 발생시에 관계없이 모든 변경 사항이 발생하거나 변경 사항이 발생하지 않도록 여려 데이터베이스 블록을 변경할 수 있음. 

리두 로그

오라클 데이터베이스에 대한 모든 변경 사항은 데이터 파일과 분리된 적어도 두 개의 리두 로그 파일로 이루어진 리두 로그에 기록.
인스턴스 실패 또는 매체 장애로부터 데이터베이스를 복구하는 동안 오라클은 데이터베이스 리두로그 변경사항을 데이터 파일에 적용.
이렇게 함으로써 데이터베이스의 데이터를 장애가 발생했던 인스턴스로 갱신. 

롤백 세그먼트

데이터베이스를 복구하는 동안 리두 로그에서 데이터파일에 적용된 커밋되지 않은 변경 사항을 실행 취소 하는데 사용.
롤백 세그먼트를 사용하여 데이터 파일에서 커밋되지 않은 모든 디이터를 제거하면 데이터는 일관성 있는 상태가 된다. 

백업

오라클 데이터베이스를 구성하는 물리적 피일의 운영체제 백업으로 구성.
매체 장애로부터 데이터베이스 복구를 시작하기 위해 오라클은 파일 백업을 사용하여 손상된 디이터 파일이나 제어 파일을 복원. 

체크포인터

모든 리두 로그의 스레드에 걸쳐서 데이터베이스의 일관성 있는 시점을 정의하는 제어 파일에 있는 데이터 구조.
SCN과 유사하며 해당 SCN에 있는 스레드를 설명.
복구를 수행할 때 오라클이 올바른 시점에서 리두 응용 프로그램의 로그 스레드들 읽기 시작하도록 하는데 사용됨. 병렬서버의 경우 각 고유의 리두 정보를 가짐

복구작업

매체 복구는 데이터베이스의 데이터 파일을 디스크가 고장나기 전 최근 시점으로 복원하며 고장으로 손실된 메모리에 있는 커밋된 데이터를 포함.

매체 복구

1. 완전 매체 복구
-닫힌 데이터베이스 복구
-열린 데이터베이스, 오프라인 테이블 스페이스 복구
-열린 데이터베이스, 오프라인 테이블 스페이스, 개별 데이터 파일 복구

2. 불완전 매체 복구
-취소에 준한 복구
-시간에 준한 복구
-변경 사항에 준한 복구 

복구 계획과 전략

데이터베이스를 복구하기 전이 복구 계획이나 전략을 만들어야 함.

 백업과 복구 전략 테스트
백업과 복구 전략은 제품화된 시스템으로 이동하기 전에 테스트 환경에서 검사해야 함.
시스템의 정기적인 테스트를 지속적으로 시행해야 전략의 완전성을 검사할 수 있고 후에 실제 상황에서 발생할 위기를 방지할 수 있음.
정기적으로 테스트복구를 수행하여 아카이브와 백업 프로시저가 제대로 작동할 수 있도록 한다.
또한 복구 절차를 잘 알아둬야 위기 상황이 발생했을 때 실수 할 확률을 줄일 수 있음.

적절한 유형의 복구 작업 결정
-RECOVER 명령어를 사용해서 복구 가능한 경우
① 매체 장애로 데이터베이스가 손상됨
② 과거 시점으로 복구해야 할 때(예, 데이터베이스에 대한 잘못된 운영 상의 변경 또는 잘못된 프로그램으로 인한 변경의 실행 취소 등)
③ 온라인 로그가 손실되었을 때

-복구 작업을 선택할 때 고려 사항
① 사용가능한 복구 작업의 종류
ARCHIVELOG MODE -여러 가지 복구 작업
NOARCHIVELOG MODE- 전체백업으로 복원, 이후 수행된 모든 사항을 재입력
엑스포트일 경우는 임포트를 사용함
② 문제에 따른 적합한 복구 작업 선택
③ 손상된 데이터베이스가 분산 데이터베이스의 일부인지 확인-노드 사이에서 테이터 베이스 복구를 조정
④ 재해 복구 절차 존재 여부
모든 온라인 매체를 손실했거나 복구 시간이 너무 길 것으로 판단한 경우 기본 데이터베이스에 매체 복구를 수행하는 것보다 대기 테이터베이스를 활성화해야 할 수도 있음.

데이터 파일 이동

파일 유형

참조 강좌

데이터파일

단일 테이블 스페이스에서 데이터 파일 이름 변경 및 위치 재지정

온라인 리두 로그 파일

온라인 리두 로그 맴버의 이름 변경 및 위치 재지정

제어 파일

제어 파일의 추가 복사본 생성과 제어 파일 이름 변경 및 위치 재지정


분산 복구 조정
- 분산 데이터베이스 시스템의 데이터베이스 복구

복구 작업의 유형

분산 데이터베이스 시스템에서의 의미

원격노드로부터 액세스되거나 갱신되거나 질의된 적이 없는 데이터베이스의 전체 백업 복원

조정하지 않는 자율적 데이터베이스 복구 사용

원격노드에 의해 액세스되지 않은 데이터베이스의 전체 백업 복원

모든 데이터베이스 종료 두 동일하게 조정된 전체 백업을 사용하여 복원

분산 데이터베이스의 하나 이상의 데이터베이스에 대한 완전 매체 복구

조정하지 않는 자율적 데이터베이스 복구 사용

원격 노드에 의해 액세스되지 않은 데이터베이스에 대한 불완전 매체 복구

조정하지 않는 자율적 데이터베이스 복구 사용

원격 노드에 의해 액세스된 데이터베이스에 대한 불완전 매체 복구

분산데이터베이스의 모든 데이터베이스에 대해 동일한 전역 시점으로 조정된 불완전 매체 복구 사용


- 시간에 준한 분산데이터베이스 복구 및 변경사항에 준한 분산 데이터베이스 복구 조정
(한노드를 과거 시점으로 복구해야 할때)
① 시간에 준한 복구를 사용하여 복구 작업을 필요로 하는 데이터베이스를 복구
② 데이터베이스를 복구하고 RESETLOGS 옵션을 사용하여 데이터베이스를 연 후 데이터베이스의 ALERT 파일에서 RESETLOGS메세지를 찾음
완전 복구시 메시지-"RESETLOGS after complete recovery through change nnnnnnnn"
불완전 복구시 메시지-"RESETLOGS after incomplete recovery UNTIL CHANG nnnnnnnn"
③ 2단계의 변경 번호(scn)를 지정하여 변경 사항에 준한 복구를 사용하여 분산 데이터베이스 시스템의 다른 데이터베이스를 모두 복구

- 스냅샷을 사용한 데이터베이스의 복구
마스터 데이터베이스가 독립적으로 과거의 한 시점으로 복구된 경우( 즉 조정된 시간에 준한 분산 데이터베이스 복구가 수행되지 않은 경우) 손실된 시간에 준한 분산 데이터베이스 복구가 수행되지 않은 경우) 손실된 시간 사이에 재작성된 종속 원격 스냅샷은 마스터 테이블과 일치하지 않는다. 이 경우 마스터 데이터베이스의 관리자는 원격 관리자로 하여금 일치하지 않는 스냅샷을 모두 완전히 작성하도록 해야 한다.