未計画フェイルオーバー

フェイルオーバーは、プライマリ・データベースが失われたと想定する計画外のイベントです。スタンバイ・データベースは、プライマリから使用可能なすべてのredoデータが適用された直後にプライマリ・データベースに変換されます。

計画外フェイルオーバーからのリカバリ

フェイルオーバーは計画外のイベントまたは停止で、データ損失が含まれる場合があります。フェイルオーバー後、元のプライマリ・データベースをフィジカル・スタンバイとして回復する必要があります。フラッシュバック・データベースおよびOracle Data Guard Brokerを使用すると、元のプライマリ・データベースの回復が容易になります。

この例では、ORCLCDBはオンプレミス・データベースの名前で、orclcdb_iad1s3はクラウド内のデータベース・インスタンスの名前です。この例のステップ3では、プライマリのオンプレミス・データベースを停止して計画外停止をシミュレートします。
  1. sysユーザーおよびパスワードとして、オンプレミス・プライマリ・データベースのDGMGRLセッションにログインします。
    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. Oracle Cloud Infrastructure (OCI)のスタンバイ・データベース・インスタンスの構成を表示します。
    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. Oracle Cloud Infrastructure (OCI)でデータベース・インスタンスの構成を表示します。
    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. Oracle Cloud Infrastructure (OCI)のスタンバイ・データベース・インスタンスの構成を表示します。
    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