Sun Cluster の Oracle 用データサービス (Solaris OS 版)

DataGuard インスタンスのロールの変更

Oracle プライマリデータベースと Oracle スタンバイデータベースの間で、データベースロールのフェイルオーバーまたはスイッチオーバーが可能です。Oracle コマンドを使用して DataGuard インスタンスのロールを変更する場合、変更はこれらのインスタンスを表す Sun Cluster リソースには伝播しません。したがって、必ず Sun Cluster コマンドを使用してこれらのリソースのプロパティーを変更して、データベースのインスタンスが正しいロールで起動するようにする必要があります。

ProcedureDataGuard インスタンスのロールの変更方法

  1. Sun Cluster が間違ったロールのインスタンスを起動しないようにします。

    DataGuard インスタンスのロールの変更中にノードまたはゾーンが失敗した場合、Sun Cluster がインスタンスを正しくないロールで起動することがあります。これを防ぐには、インスタンスを表す Oracle サーバーリソースの拡張プロパティー Dataguard_roleIN_TRANSITION に変更します。


    # clresource set -p Dataguard_role=IN_TRANSITION server-rs
    
  2. Oracle データベースで必要な操作を行って、データベースを新しいロールに変換します。

  3. インスタンスを表す Oracle サーバーリソースの次の拡張プロパティーを変更して、インスタンスの新しいロールを反映させます。

    • Dataguard_role

    • Standby_mode

    次のように、Dataguard_role Standby_mode の必要な組み合せはロールの変更に依存します。

    • プライマリデータベースからプリマリスタンバイデータベースに変更するには、次のコマンドを実行します。


      # clresource set -p Dataguard_role=STANDBY -p Standby_mode=PHYSICAL server-rs
      
    • プライマリデータベースから論理スタンバイデータベースに変更するには、次のコマンドを実行します。


      # clresource set -p Dataguard_role=STANDBY \
       -p Standby_mode=LOGICAL server-rs
      
    • スタンバイデータベースからプライマリデータベースに変更するには、次のコマンドを実行します。


      # clresource set -p Dataguard_role=PRIMARY server-rs