使用例5: 遠隔同期インスタンスでの「最大可用性」モードの設定

プライマリ・データベースとスタンバイ・データベースが地理的に遠すぎて同期転送モードが実用的でない場合、遠隔同期インスタンスを最大可用性保護モードで使用することができます。

このトピックの例は、遠隔同期インスタンスを構成に追加し、構成のすべてのメンバーに対してRedoRoutesプロパティを設定する方法を示しています。遠隔同期インスタンスに対してRedoRoutesプロパティを設定すると、North_SalesデータベースとSouth_Salesデータベースのいずれかプライマリである方に基づいてREDOデータを送信できます。

  1. ブローカ構成にFS1という名前の遠隔同期インスタンスを追加するには、次のコマンドを発行します。
    DGMGRL> ADD FAR_SYNC 'FS1' AS CONNECT IDENTIFIER IS FS1;
    far sync instance "FS1" added
    DGMGRL> ENABLE FAR_SYNC 'FS1';
    Enabled.
    DGMGRL> SHOW CONFIGURATION;
    
    Configuration - DRSolution
    
      Protection Mode: MaxPerformance
      Members:
      North_Sales - Primary database
        South_Sales - Physical standby database 
        FS1         - Far sync instance 
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS   (status updated 22 seconds ago)
    

    この出力で、South_SalesFS1は、North_Salesの配下にインデントされています。これは、プライマリがREDOデータをSouth_SalesFS1の両方に送信していることを示します。

  2. 次のコマンドを発行して、North_Salesがプライマリである場合、現在のプライマリNorth_Salesが遠隔同期インスタンスFS1だけにREDOデータを送信し、遠隔同期インスタンスがREDOデータをSouth_Salesに送信するようにします。また、現在のスタンバイ・データベースSouth_SalesのREDO転送を構成して、プライマリ・ロールの場合に遠隔同期インスタンスFS1にREDOデータを送信するようにします。この例では、すべての構成メンバーのLogXptModeプロパティがデフォルトのASYNC値に設定されていることを前提としています。
    DGMGRL> EDIT DATABASE 'North_Sales' SET PROPERTY RedoRoutes='(LOCAL : FS1 SYNC)';
    Property "redoroutes" updated for member "North_Sales".
    DGMGRL> EDIT FAR_SYNC 'FS1' SET PROPERTY RedoRoutes='(North_Sales : South_Sales)’;
    Property "redoroutes" updated for member "FS1".
    DGMGRL> EDIT DATABASE 'South_Sales' SET PROPERTY RedoRoutes='(LOCAL : FS1 SYNC)';
    Property "redoroutes" updated for member "South_Sales".
    DGMGRL> SHOW CONFIGURATION;
    
    Configuration - DRSolution
    
      Protection Mode: MaxPerformance
      Members:
      North_Sales - Primary database
        FS1         - Far sync instance 
          South_Sales - Physical standby database 
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS   (status updated 58 seconds ago)
    
    

    上の出力のインデント方式は、North_SalesがREDOデータをFS1に送信し、FS1がREDOデータをSouth_Salesに送信することを示しています。

  3. 保護モードを最大可用性にアップグレードするには、次のコマンドを発行します。
    DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MaxAvailability;
    Succeeded.
    DGMGRL> SHOW CONFIGURATION;
    
    Configuration - DRSolution
    
      Protection Mode: MaxAvailability
      Members:
      North_Sales - Primary database
        FS1         - Far sync instance 
          South_Sales - Physical standby database 
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS   (status updated 32 seconds ago)
    
  4. 将来のロール遷移をサポートするためのREDO転送の構成
    South_Salesがプライマリ・データベースになった場合にREDO転送が正しく構成されていることを確認するには、次のコマンドを発行します。
    DGMGRL> SHOW CONFIGURATION WHEN PRIMARY IS 'South_Sales';
     Configuration when South_Sales is primary - DRSolution
    
      Members:
      South_Sales - Primary database
        FS1         - Far sync instance 
    
      Members Not Receiving Redo:
      North_Sales - Physical standby database 
        Warning: ORA-16685: database does not receive redo data
    

    このエラーを修正するには、次のようにSouth_SalesおよびFS1RedoRoutesプロパティを設定します。

    DGMGRL> EDIT DATABASE 'South_Sales' SET PROPERTY RedoRoutes='(LOCAL : FS1 SYNC)';
    DGMGRL> EDIT FAR_SYNC 'FS1' SET PROPERTY RedoRoutes=('North_Sales : 
    South_Sales)(South_Sales : North_Sales)';
    
    Property "redoroutes" updated for member "FS1".

    遠隔同期インスタンスFS1RedoRoutesプロパティの変更が完了したら、SHOW CONFIGURATION WHEN PRIMARY ISコマンドを再発行して、エラーが解決されたことを確認します。

    DGMGRL> SHOW CONFIGURATION WHEN PRIMARY IS 'South_Sales';
    
    Configuration when South_Sales is primary - DRSolution
    
      Members:
      South_Sales - Primary database
        FS1         - Far sync instance 
          North_Sales - Physical standby database