계획되지 않은 페일오버

페일오버는 기본 데이터베이스가 손실된 것으로 간주하는 계획되지 않은 이벤트입니다. 대기 데이터베이스는 기본 데이터베이스에서 사용 가능한 모든 redo 데이터가 적용된 후 즉시 기본 데이터베이스로 변환됩니다.

계획되지 않은 페일오버에서 복구

페일오버는 예상치 못한 이벤트 또는 중단으로, 데이터 손실을 포함할 수 있습니다. 복구 후 원래의 기본 데이터베이스는 물리적 대기 데이터베이스로 복원해야 합니다. 데이터베이스 및 Oracle Data Guard Broker를 플래시백한 경우 원래의 기본 데이터베이스를 복원하는 것이 더 쉽습니다.

이 예에서 ORCLCDB은 온-프레미스 데이터베이스의 이름이고 orclcdb_iad1s3은 클라우드의 데이터베이스 인스턴스 이름입니다. 이 예의 3단계는 예상치 못한 운용중단을 모방하기 위해 기본 온-프레미스 데이터베이스를 종료합니다.
  1. 온-프레미스 기본 데이터베이스의 DGMGRL 세션에 sys 사용자 및 비밀번호로 로그인합니다.
    DGMRGL> connect
  2. 온-프레미스 데이터베이스에 대한 구성을 표시합니다.
    DGMGRL> show configuration;
    출력이 다음과 비슷하게 나타나야 합니다:
    Configuration - onpremdr
    
      Protection Mode: MaxPerformance
      Members:
      orclcdb        - Primary database
        orclcdb_iad1s3 - Physical standby database 
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS(status updated 32 seconds ago)
  3. 기본 데이터베이스 인스턴스에 접속하고 종료를 수행하여 계획되지 않은 운용중단을 모방합니다.
    bash-4.2$ sqlplus / as sysdba
    SQL> shutdown abort;
    출력이 다음과 비슷하게 나타나야 합니다:
    ORACLE instance shut down.
  4. OCI(Oracle Cloud Infrastructure) 에서 대기 데이터베이스 인스턴스에 대한 구성을 표시합니다.
    DGMGRL> show configuration;
    출력이 다음과 비슷하게 나타나야 합니다:
    Configuration - onpremdr
      Protection Mode: MaxPerformance
      Members:
      orclcdb        - Primary database
        Error: ORA-1034: ORACLE not available
    
        orclcdb_iad1s3 - Physical standby database 
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    ERROR   (status updated 0 seconds ago)
  5. 페일오버를 시작합니다.
    DGMGRL> > failover to ORCLCDB_iad1s3;
    출력이 다음과 비슷하게 나타나야 합니다:
    Performing failover NOW, please wait...
    Failover succeeded, new primary is "orclcdb_iad1s3"
  6. OCI(Oracle Cloud Infrastructure) 에서 데이터베이스 인스턴스에 대한 구성을 표시합니다.
    DGMGRL> show configuration;
    출력이 다음과 비슷하게 나타나야 합니다:
    Configuration - onpremdr
    
      Protection Mode: MaxPerformance
      Members:
      orclcdb_iad1s3 - Primary database
        orclcdb        - Physical standby database (disabled)
          ORA-16661: the standby database needs to be reinstated
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS   (status updated 48 seconds ago)
  7. 원래 온-프레미스 기본 데이터베이스(이 예의 경우 ORCLCDB) 를 복원합니다.
    복원을 수행하면 비활성화된 이전 기본 데이터베이스가 대기 데이터베이스로 설정되어 새 기본(활성화된 대기 데이터베이스) 에서 redo 데이터를 수신할 수 있습니다.

    원래의 기본 데이터베이스를 기본 데이터베이스 인스턴스(복구) 로 가져오려면 복원하기 전에 원래의 기본 데이터베이스의 한 인스턴스에서 startup mount를 실행합니다.

    SQL> startup mount;
  8. 클라우드의 데이터베이스 인스턴스(이 예의 경우 orclcdb_iad1s3) 에서 reinstate database 명령을 사용하여 원래 온-프레미스 기본 데이터베이스를 복원합니다.
    DGMGRL> reinstate database ORCLCDB;
    출력이 다음과 비슷하게 나타나야 합니다:
    Reinstating database
            "orclcdb", please wait...Reinstatement of database
            "orclcdb" succeeded
  9. OCI(Oracle Cloud Infrastructure) 에서 대기 데이터베이스 인스턴스에 대한 구성을 표시합니다.
    DGMGRL> show configuration;
    출력이 다음과 비슷하게 나타나야 합니다:
    Configuration - onpremdr
    
      Protection Mode: MaxPerformance
      Members:
      orclcdb_iad1s3 - Primary database
        orclcdb        - Physical standby database 
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS   (status updated 47 seconds ago