Computer >> 컴퓨터 >  >> 프로그래밍 >> 데이터베이스

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

스탠바이 데이터베이스(Standby Database)는 운영(프로덕션) 데이터베이스의 일관성 있는 복제본으로, 프로덕션 환경의 장애, 데이터 손실 또는 손상 발생 시 복구를 지원하는 핵심 요소입니다.

소개

프라이머리(Primary) 사이트와 스탠바이 사이트 간에 동기화 지연(Gap)이 발생하는 원인은 다음과 같습니다.

  1. 프라이머리와 스탠바이 데이터베이스 간 네트워크 대역폭 문제
  2. 스탠바이 데이터베이스의 비가용 상태
  3. 프라이머리 데이터베이스에서 아카이브 리두 로그가 실수로 삭제된 경우

일반적으로 프라이머리 사이트에서 아카이브 로그를 복사하여 스탠바이에 적용하는 방식으로 동기화할 수 있지만, 이 과정은 매우 많은 시간이 소요됩니다.

보다 효율적인 대안은 프라이머리 사이트의 RMAN 증분 백업(Incremental Backup)을 활용해 스탠바이를 복구하는 것입니다. 이 방법은 프라이머리에서 아카이브 로그가 누락되어 스탠바이에 적용할 수 없는 상황에서도 유용하게 사용할 수 있습니다.

RMAN 증분 백업으로 물리적 스탠바이 데이터베이스 복구하기

이 시나리오를 실습하기 위해, 필자는 프라이머리 사이트에서 일부 아카이브 로그를 수동으로 삭제하여 로그 손상 또는 누락 상황을 재현했습니다.

1단계: 프라이머리와 스탠바이 사이트의 동기화 상태 확인

먼저 프라이머리(prod)와 스탠바이(stby) 간 동기화 상태를 빠르게 확인합니다.

프라이머리 사이트:

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

스탠바이 사이트:

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

2단계: 프라이머리와 스탠바이 간 Gap 시뮬레이션

프라이머리 데이터베이스에 접속하여 LOG_ARCHIVE_DEST_STATE_2 파라미터를 DEFER로 변경합니다. 그런 다음 수동으로 로그 스위치를 여러 번 수행하여 아카이브 로그를 생성함으로써 프라이머리와 스탠바이 사이에 Gap을 만듭니다.

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

이제 프라이머리와 스탠바이의 CURRENT_SCN 값을 비교해 보면, 동기화를 수동으로 중단했기 때문에 스탠바이가 따라잡지 못하고 있는 것을 확인할 수 있습니다.

프라이머리 사이트:

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

스탠바이 사이트:

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

이 시점에서 LOG_ARCHIVE_DEST_STATE_2를 다시 활성화하면 스탠바이가 자동으로 따라잡게 됩니다. 하지만 바로 활성화하면 안 됩니다. Gap 상황을 시뮬레이션하려면 먼저 프라이머리 사이트에서 아카이브 로그를 수동으로 삭제해야 합니다.

두 사이트 모두에서 쓰레드(Thread) 1번은 232번, 쓰레드 2번은 218번보다 큰 시퀀스의 아카이브 로그가 없도록 확인합니다.

이제 LOG_ARCHIVE_DEST_STATE_2를 다시 ENABLE로 설정합니다.

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

예상대로 프라이머리 사이트에서 일부 로그가 삭제되었기 때문에 스탠바이는 로그 적용을 계속 진행할 수 없습니다.

마지막으로 복구를 취소하고 스탠바이 인스턴스를 종료합니다.

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

3단계: 증분 백업 수행

프라이머리에 접속하여 스탠바이에 마지막으로 적용된 SCN부터 증분 백업을 수행합니다.

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법
증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법
증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

4단계: 스탠바이 컨트롤 파일 백업

이제 스탠바이 사이트에서 컨트롤 파일을 백업합니다.

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

5단계: 백업 파일을 스탠바이 사이트로 전송

방금 생성한 증분 백업 파일을 스탠바이 사이트로 전송합니다.

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

6단계: 스탠바이 컨트롤 파일 복원

스탠바이 사이트에서 컨트롤 파일을 복원합니다.

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

참고: 앞서 설명한 명령어를 실행하기 전에 기존 컨트롤 파일을 수동으로 삭제하여 새 컨트롤 파일이 올바르게 사용되는지 확인하세요.

grid 사용자로 접속하여 기존 컨트롤 파일을 삭제합니다.

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법
증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법
증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

7단계: 백업 조각 카탈로그 등록

이제 백업 조각(Backup Piece)을 카탈로그에 등록합니다.

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법
증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법
증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법
증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

8단계: 기존 데이터 파일 카탈로그 등록

기존 데이터 파일도 카탈로그에 등록합니다.

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

9단계: 기존 데이터 파일 전환(Switch)

모든 기존 데이터 파일을 이미지 복사본(Image Copy)으로 전환합니다.

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

10단계: 데이터베이스 복구

이제 데이터베이스를 복구합니다.

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법
증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

이 단계까지 완료하면 스탠바이 갱신(Refresh) 작업이 끝납니다. 몇 단계만 더 진행하면 됩니다!

11단계: 동기화 상태 확인

양쪽 사이트의 시퀀스 정보를 확인합니다. 스탠바이가 프라이머리를 따라잡은 것을 알 수 있습니다.

프라이머리 사이트:

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

스탠바이 사이트:

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

12단계: 미디어 복구(Media Recovery) 시작

스탠바이 사이트에서 미디어 복구를 시작합니다.

증분 백업을 활용한 물리적 스탠바이 데이터베이스 복구 방법

결론

위에서 소개한 단계들을 통해 스탠바이 사이트를 성공적으로 복구할 수 있습니다. 특히 운영 환경의 증분 백업을 활용하면 아카이브 로그를 하나씩 적용하는 전통적인 방식에 비해 상당한 시간을 절약할 수 있습니다. 프라이머리와 스탠바이 간 Gap이 클수록 이 방법의 효율성은 더욱 두드러집니다.

데이터베이스 서비스에 대해 더 자세히 알아보세요.

피드백 탭을 통해 의견을 남기거나 질문을 보내실 수 있습니다. 언제든지 저희와 대화를 시작해 주세요.