|
대기 데이터베이스는 기본 데이터베이스의 대기 복사본 또는 복제된 복사본을 유지 관리하며 제해가 발생해도 기본 데이터베이스를 계속 사용할 수 있도록 한다. 대기 데이터베이스는 항상 복구 모드이다. 재해가 발생하면 대기 데이터베이스는 기본 데이터베이스 복구를 해제하여 온라인 사용을 위해 활성화한다. 대기 데이터베이스는 기본 데이터베이스 복구를 위한 것이다. 따라서 재해 복구를 위해 활성화하는 것 외에 다른 목적으로 대기 데이터베이스에 질의하거나 열 수 없다. 대기 데이터베이스를 활성화하면 그것을 다른 데기 데이터베이스로 재생성하지 않은 한 다시 대기 복구 모드로 되돌릴 수 없다. 기본 데이터베이스와 대기 데이터베이스의 데이터 파일, 로그 파일,제어파일은 별도의 물리적 매체에 두어야 하므로 대기 데이터베이스와 기본 데이터베이스는 동일한 제어 파일을 사용할 수 없다.
▶ 대기 데이터베이스를 생성하려면 1. 기본 데이터베이스의 온라인 데이터 파일과 오프라인 데이터 파일을 모두 백업한다.
2. 기본 데이터베이스 제어 파일의 수정된 복사본을 생성하는 ALTER DATABASE CREATE STANDBY CONTROLFILE AS 'filename' 명령어를 실행하여 대기 데이터베이스의 제어 파일을 생성.
3. ALTER SYSTEM ARCHIVE LOG CURRENT 명령어를 실행하여 기본 데이터베이스의 현재 온라인 로그를 아카이브한다. ALTER SYSTEM ARCHIVE LOG CURRENT 명령어를 실행하면 1단계의 데이터 파일과 2단계 제어파일, 그리고 로그파일간에 일관성을 보장.
4. 운영체제 명령어나 유틸리티를 사용하여 대기 데이터베이스의 제어 파일과 아카이브된 로그 파일, 그리고 데이터 파일 백업을 원격 사이트로 전송한다. 이진 파일로 전송할 경우 적합한 전송 방법을 사용한다.
경고: 오라클은 기본 데이터베이스와 대기 데이터베이스 모두에서 동일한 데이터 파일 이름을 유지하는 데이터 파일 이름 지정 체계를 사용하도록 한다. 이렇게 할 수 없는 경우 데이터 파일 이름 변환 매개변수를 사용할 수 있다. 위에 제안 된 데이터 파일 이름 지정 체계를 모두 사용하지 않으면 사용자의 대기 데이터베이스가 파손될 우려가 있다.
▶ 복구 모드에서 대기 데이터베이스를 유지 관리하려면 1. NO MOUNT 절을 사용하여 대기 데이터베이스에서 Oracle인스턴스를 시작
2.ALTER DATABASE MOUNT STANDBY DATABASE[EXECUSIVE/PARALLEL] 명령어 실행
3. 기본 데이터베이스에서 아카이브된 리두 로그를 원격(대기) 사이트로 전송한다. 이진 데이터로 전송할 경우 적합한 운영 체제 유틸리티를 사용한다.
4. RECOVER[FROM 'location'] STANDBY DATABASE 명령어를 실행하여 복구 모드에서 대기 데이터베이스를 설정한다.
온라인 로그 파일 지우기 대기 데이터베이스를 유지 관리하면서 성능을 최적화 하기 위해 대기 데이터베이스를 온라인 로그 파일을 지울 수 있다. 사용자가 유지 관리하는 중에 이 작업을 수행하지 않으면 온라인 로그 파일은 작업중에 자동으로 지워진다. ALTER DATABASE CLEAR LOGFILE GROUP integer;로 로그 파일을 지운다.
▶ 데이터 파일과 로그 파일 이름 변환 다음 초기화 매개변수를 설정하여 기본 데이터베이스 제어 파일의 모든 파일명을 대기 데이터베이스가 사용할 수 있로록 변환할 수 있다.
DB_FILE_STANDBY_NAME_CONVERT LOG_FILE_STANDBY_NAME_CONVERT
바람직하지 않지만 기본 데이터베이스와 대기 데이터베이스가 동일한 시스템에 있다면 대기 데이터베이스의 파일명과 기본데이터베이스의 파일명을 구분하기 위해 이러한 매개변수를 설정하는 것이 좋다.
▶ 대기 데이터베이스 활성화 재해가 발생할 경우 가능하다면 기본 데이터베이스 로그(ALTER SYSTEM DATABASE ARCHIVE LOG CURRENT)를 아카이브한 후 로그를 대기 사이트로 전송하고 대기 데이터베이스를 활성화 하기 전에 로그를 적용. 로그를 적용하여 대기 데이터베이스를 기본 데이터베이스와 동일한 시점(장애 발생전)으로 만들 수 있다. 현재의 온라인 로그를 아카이브 할 수 없을 경우 기본 데이터베이스의 아카이브되지 않은 로그의 트랜잭션을 복구하지 않은 채 대기 데이터베이스를 활성화한다. 대기 데이터베이스를 활성화한 후 대기 데이터베이스의 온라인 리두 로그를 재설정한다. 로그를 재설정하면 대기 데이터베이스와 기본 데이터베이스의 로그는 호환되지 않는다. 또한 대기 데이터베이스는 활성화될 때 마운트를 해제하므로 활성화 직후에 뷰나 테이블을 볼 수 없다.
▶ 대기 데이터베이스를 활성화하려면 ... 1. 대기 데이터베이스가 EXCLUSIVE 모드로 마운트되었는지 확인한다.
2. ALTER DATABASE ACTIVE STANDBY DATABASE 명령어를 실행한다.
3. 대기 데이터베이스 인스턴스를 종료한다.
4. 가능한 빨리 새로운 제품화된 데이터베이스를 백업한다. 이 시점에서 이전의 대기 데이터베이스가 현재 제품화된 데이터베이스이다. 이 작업을 꼭 수행하는 것은 아니지만 백업이 없으면 활성화 후의 변경 사항을 복구할 수 없으므로 안전 조치로 수행하는 것이 좋다.
5. 새로운 제품화된 데이터베이스를 시작한다.
주 : 대기 데이터베이스를 활성화한 후 원래 제품화된 데이터베이스의 아카이브되지 않은 로그의 트랜잭션은 모두 손실된다.
|