ページの先頭行へ戻る
PRIMECLUSTER Wizard for Oracle 4.5 導入運用手引書
FUJITSU Software

F.4.3 プライマリ・データベースとロジカル・スタンバイ・データベースの切替え

プライマリ・データベースとロジカル・スタンバイ・データベースの切替え時の遷移図を記載します。

  1. 通常運用時(切替え前の初期状態)

  2. アーカイブログの転送適用状況を確認

    プライマリ・サイトとスタンバイ・サイトでログスイッチの前後でシーケンス番号が一致するかどうか確認します。一致しない場合は、ギャップを解消します。

    参照

    詳細はOracle Databaseのマニュアルを参照してください。

  3. PRIMECLUSTERの保守モード移行

    userApplicationの意図しないフェイルオーバを防止するため、両サイトの運用ノードで以下のコマンドを実行し、PRIMECLUSTERの保守モードに移行します。

    # /opt/SMAW/SMAWRrms/bin/hvutil -M on

    userApplicationの状態が“Maintenance”となることを確認します。

  4. Oracleリソースの監視中断

    Oracleへのセッションを切断するため、両サイトの各クラスタノードで以下のコマンドを実行し、Oracleリソースの監視を中断します。

    # /opt/FJSVclora/sbin/hvoradisable -a <Oracleリソースを含むuserApplication名>

    Oracleリソースの監視中断が正常に行われたことを確認してください。

    (参考 「4.1 hvoradisable - リソース監視の中断」 - 注意)

  5. Oracle Data Guardのロールの切替え(スイッチオーバー)

    Oracle Data Guardのロールの切替え手順は以下のとおりです。

    参照

    詳細はOracle Databaseのマニュアルを参照してください。

    1. スイッチオーバー可能かどうかの確認
      プライマリ・データベースで、次のSQL文を発行します。

      SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

      SWITCHOVER_STATUS列の値がTO STANDBYまたはSESSIONS ACTIVEの場合、プライマリ・データベースをロジカル・スタンバイ・データベースに切替え可能であることを示しますので、次の手順へ進んでください。
      これらの値のどちらかが表示されない場合は、問題を解決した後で上記SQL文を再度発行し、SWITCHOVER_STATUS列の値を確認してください。

    2. プライマリ・データベースのスイッチオーバー準備
      プライマリ・データベースで、次のSQL文を発行してスイッチオーバーを準備します。

      SQL> ALTER DATABASE PREPARE TO SWITCHOVER TO LOGICAL STANDBY;

      この操作に成功すると、V$DATABASEビューのSWITCHOVER_STATUS列にPREPARING SWITCHOVERが表示されます。

    3. ロジカル・スタンバイ・データベースのスイッチオーバー準備
      ロジカル・スタンバイ・データベースで、次のSQL文を発行してスイッチオーバーを準備します。

      SQL> ALTER DATABASE PREPARE TO SWITCHOVER TO PRIMARY;

      正常に完了すると、V$DATABASEビューのSWITCHOVER_STATUS列にPREPARING SWITCHOVERが表示されます。

    4. データ・ディクショナリを受信しているかどうかの確認
      プライマリ・データベースで、次のSQL文を発行します。

      SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

      SWITCHOVER_STATUS列の値がTO LOGICAL STANDBYの場合、プライマリ・データベースがロジカル・スタンバイ・データベースからデータ・ディクショナリを受信していますので、次の手順へ進んでください。

    5. プライマリ・データベースをロジカル・スタンバイ・データベースに切替え

      次のSQL文をプライマリ・データベースで発行します。

      SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO LOGICAL STANDBY;

    6. ロジカル・スタンバイ・データベースがプライマリ・データベースに切替え可能かどうかの確認
      次のSQL文をロジカル・スタンバイ・データベースで発行します。

      SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

      SWITCHOVER_STATUS列の値がTO PRIMARYの場合、ロジカル・スタンバイ・データベースがプライマリ・データベースに切替え可能ですので、次の手順へ進んでください。

    7. ロジカル・スタンバイ・データベースをプライマリ・データベースに切替え

      次のSQL文をスタンバイ・データベースで発行します。

      SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

    8. 新ロジカル・スタンバイ・データベースでSQL Applyを開始

      Oracleインスタンスリソースの設定項目REDOApplyの設定値に応じて、次のSQL文を新ロジカル・スタンバイ・データベースで発行します。

      • ReceiveOnly、ReadOnlyOPEN、RealTimeQueryN、RealTimeQueryRの場合
        何も実施しません。

      • NormalApplyの場合

        SQL> ALTER DATABASE START LOGICAL STANDBY APPLY;
      • RealTimeApplyの場合

        SQL> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;
  6. Oracleリソースの監視再開

    両サイトの各クラスタノードで以下のコマンドを実行し、Oracleリソースの監視を再開します。

    # /opt/FJSVclora/sbin/hvoraenable -a <Oracleリソースを含むuserApplication名>

    監視再開が正常に行われたことを確認してください。

    (参考 「4.2 hvoraenable - リソース監視の再開」 - 注意)

  7. PRIMECLUSTERの保守モードの解除

    両サイトの運用ノードで以下のコマンドを実行し、PRIMECLUSTERの保守モードを解除します。

    # /opt/SMAW/SMAWRrms/bin/hvutil -M off

    userApplicationの状態が“Online”または“Offline”となることを確認します。