使用例10: 手動フェイルオーバー操作の実行

フェイルオーバー操作は、緊急時(通常はプライマリ・データベースにアクセスできない場合または使用できない場合)の対応策として起動します。

フェイルオーバー前にターゲット・スタンバイ・データベースの選択を参照し、どのスタンバイ・データベースをフェイルオーバーのターゲットにするかを判断してください。次の使用例では、リモート・データベースSouth_Salesへのフェイルオーバーについて説明します。

ノート:

複数のファスト・スタート・フェイルオーバー・ターゲットが構成されている場合、手動フェイルオーバーのみが現在のファスト・スタート・フェイルオーバーのターゲットに対して可能です。

ファスト・スタート・フェイルオーバーのターゲットではないスタンバイ・データベースへの手動フェイルオーバーを実行する場合は、まずフェイルオーバー先のスタンバイ・データベースでFORCEオプションを使用してファスト・スタート・フェイルオーバーを無効にする必要があります。FORCEオプションの詳細は、「ファスト・スタート・フェイルオーバーの無効化」を参照してください。

  1. (オプション)ターゲット・スタンバイの準備状況の確認。

    ターゲット・スタンバイ・データベースを検証し、新しいプライマリ・データベースになる準備ができていることを確認するには、次の例に示すように、VALIDATE DATABASEコマンドを使用します。

    DGMGRL>  VALIDATE DATABASE 'South_Sales';
    
      Database Role:     Physical standby database
      Primary Database:  North_Sales
        Warning: primary database was not reachable
    
      Ready for Switchover:  No
      Ready for Failover:    Yes (Primary Not Running)
    
      Flashback Database Status:
        Database     Status           Retention Target
        North_Sales  Unknown          Unknown
        South_Sales  On               1440   
    
      Managed by Clusterware:
        North_Sales:  Unknown        
        South_Sales:  NO             
        The static connect identifier allows for a connection to database "North_Sales".
    
      Temporary Tablespace File Information:
        North_Sales TEMP Files:  Unknown
        South_Sales TEMP Files:  3
    
      Data file Online Move in Progress:
        North_Sales:  Unknown
        South_Sales:  No
    
      Transport-Related Information:
        Transport On:  No
        Gap Status:    Unknown
        Transport Lag:  0 seconds (computed 59 seconds ago)
        Transport Status:  Success
    
      Log Files Cleared:
        North_Sales Standby Redo Log Files:  Unknown
        South_Sales Online Redo Log Files:   Unknown
        South_Sales Standby Redo Log Files:  Unknown
    
  2. フェイルオーバー操作を実行するには、SYSDGまたはSYSDBA権限を持つユーザーとしてフェイルオーバー先のスタンバイ・データベースに接続する必要があります。たとえば:
    DGMGRL> CONNECT sys@South_Salesm;
    Password: password
    Connected to "South_Sales"
    Connected as SYSDBA.
    
  3. フェイルオーバー・コマンドを発行すると、ターゲットのスタンバイ・データベースを構成の新しいプライマリ・データベースにできます。
    DGMGRL> FAILOVER TO 'South_Sales';
    2022-12-20T00:11:12.329+00:00
    Performing failover NOW, please wait...
    
    2022-12-20T00:11:18.332+00:00
    Failover succeeded, new primary is "South_Sales".
    
    2022-12-20T00:11:18.333+00:00
    Failover processing complete, broker ready.
    

    フェイルオーバーの完了後は、「ロール変更後の無効化されたデータベースの再有効化」の説明に従って回復または再作成しないかぎり、元のプライマリ・データベースは新しいプライマリ・データベースのスタンバイ・データベースとして使用できないことに注意してください。

  4. SHOW CONFIGURATIONコマンドを発行してフェイルオーバーを確認します。
    DGMGRL> SHOW CONFIGURATION;
    
    Configuration - DRSolution
    
      Protection Mode: MaxAvailability
      Members:
      South_Sales - Primary database
        Warning: ORA-16627: No member available to support the protection mode.
    
        North_Sales - Physical standby database (disabled)
          ORA-16661: The standby database must be reinstated.
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    WARNING   (status updated 11 seconds ago)
    

    この例では構成が最大可用性モードで動作していたことに注目してください。保護モードはフェイルオーバー後に保持されましたが、この構成は、このモードをサポートするために使用できる構成メンバーがないことを示す警告ステータスになりました。前のプライマリ・データベースは無効になっており、それを修復するか新しいスタンバイ・データベースに置き換えるまで、この構成が再び最大保護モードで動作するようにはなりません。

  5. 新しいプライマリ・データベースを表示します。
    DDGMGRL> SHOW DATABASE 'South_Sales';
    
    Database - South_Sales
    
      Role:                PRIMARY
      Intended State:      TRANSPORT-ON
      Redo Rate:           86.30 KByte/s  in 16 seconds (computed 13 seconds ago) 
      Instance(s):
        SouthSales
    
      Database Warning(s):
        ORA-16627: No member available to support the protection mode.
    
    Database Status:
    WARNING
    6.
    DGMGRL> SHOW DATABASE 'North_Sales';
    
    Database - North_Sales
    
      Role:                PHYSICAL STANDBY
      Intended State:      APPLY-ON
      Transport Lag:       (unknown)
      Apply Lag:           (unknown)
      Average Apply Rate:  (unknown)
      Real Time Query:     OFF
      Instance(s):
        NorthSales
    
    Database Status:
    DISABLED - ORA-16661: The standby database must be reinstated.
    
    
  6. SHOW DATABASEコマンドを発行し、フェイルオーバーの結果として(障害が発生した)元のプライマリ・データベースがブローカにより無効化されたことを確認します。これは、「ロール変更後の無効化されたデータベースの再有効化」で説明されている手順に従って回復する必要があります。
    DGMGRL> SHOW DATABASE 'North_Sales';
    Database - North_Sales
     
      Role: PHYSICAL STANDBY
      Intended State: APPLY-ON
      Transport Lag: (unknown)
      Apply Lag: (unknown)
      Apply Rate: (unknown)
      Real Time Query: OFF
      Instance(s):
        north_sales1
     
    Database Status:
    ORA-16661: the standby database must be be reinstated