通常運用時に正センタマスタノードで利用者業務を行っている時に正センタが被災した場合には、副センタマスタノードで被災時の操作を行ってください。
正センタの被災から正センタマスタノードと正センタミラーノードを再セットアップする手順については、“5.7.3 正センタ被災後の再セットアップ”を参照してください。
通常運用時の正センタ被災時の操作の流れを以下に示します。
操作の手順
注1) Active DB GuardのRLP内の未抽出のRLC通番に対して、RLCファイルまたは退避ファイルからRERUNログの抽出および反映を繰り返します。
注2) 被災した時点ですべてのRERUNログが反映済みの場合は不要です。
注3) 順序番号の再作成が必要な場合に実施します。
注4) 副センタマスタノードでActive DB GuardのRLPのオフラインを行っていない場合、DBミラーリングサービスの通常停止を行う事はできません。
注5) 資源識別子抽出ファイルを任意の方法で転送します。
注6) Mirroring Controllerを利用している場合で、DBミラーリング動作環境ファイルのGCM_FAILOVER=YESを指定しているときは、DBミラーリングサービスの開始前にGCMを起動してください。
GCMが起動されていない場合、DBミラーリングサービスは開始できますが、警告メッセージを出力します。
注7) ロググループの数だけ繰り返します。
副センタマスタノードの操作
利用者が被災を認識し、被災時の運用への切り替えの判断および指示を行います。
rdbbcrlpコマンドのVオプション、Oオプション、およびpオプションを実行してActive DB GuardのRLPの運用情報を表示し、未抽出のRLCファイルの有無を確認してください。
複写先システムでのRLCファイルの交替状態の確認については、“付録C コマンド表示内容の確認”の“C.4.2 Vオプション、Oオプション、およびpオプション”を参照してください。
未抽出のRLCファイルがある場合は、rdbbcextコマンドを実行して、すべてのRERUNログを抽出します。
$ rdbbcext -p 'Active DB GuardのRLP名'
rdbbcrefコマンドのaオプションを実行して、すべてのRERUNログ抽出ファイルのRERUNログを反映します。
$ rdbbcref -p 'Active DB GuardのRLP名' -a
rdbbcdisrcvコマンドを実行して、Active DB GuardのRLPを復旧します。
$ rdbbcdisrcv -p 'Active DB GuardのRLP名'
rdbbcrlpコマンドのVオプション、Oオプション、およびpオプションを実行して、Active DB GuardのRLPの復旧を開始したことを確認します。
Active DB GuardのRLPの復旧開始の確認については、“付録C コマンド表示内容の確認”の“C.4.2 Vオプション、Oオプション、およびpオプション”を参照してください。
rdbbcextコマンドを実行して、使用中RLCファイルからRERUNログを抽出します。
$ rdbbcext -p 'Active DB GuardのRLP名'
rdbbcrefコマンドのaオプションを実行して、使用中RLCファイルからのRERUNログ抽出ファイルをデータベースへ反映します。
$ rdbbcref -p 'Active DB GuardのRLP名' -a
使用中RLCファイルのRERUNログ反映完了後、rdbbcrefコマンドのVオプションを実行して、正センタマスタノードでRERUNログを取得した最終時刻を確認します。
最終のコミット時刻を確認することで、どこまで反映できているかを確認できます。
$ rdbbcref -V -p 'Active DB GuardのRLP名'
被災時、RERUNログ引継ぎファイル内の未完了状態のトランザクションは、続きのRERUNログを損失しているため、データベースへの反映はできません。
また、BC構成パラメタファイルのTRAN_ASYNCパラメタにYESを選択している場合は、非同期書込みを行っているため、RERUNログを損失している可能性があります。
副センタマスタノードのデータベースの内容をSQL文で調査するなどして、被災により損失したRERUNログを調査します。
rdbbcofflineコマンドのmオプションにtermを指定して実行し、Active DB GuardのRLPを終了オフラインにします。
$ rdbbcoffline -p 'Active DB GuardのRLP名' -m term
rdbbcrlpコマンドのVオプション、Oオプション、およびpオプションを実行し、RLPの終了オフライン状態を確認します。
終了オフラインの確認については、“付録C コマンド表示内容の確認”の“C.4.2 Vオプション、Oオプション、およびpオプション”を参照してください。
副センタマスタノードで順序番号を確認します。順序番号の確認は、Symfoware Serverのrdbexecsqlコマンドにより順序番号を生成することで確認します。
副センタマスタノードの順序番号と利用者業務で使用済みの順序番号を比較し、利用者業務で使用済みの順序番号が小さい場合は、補正する必要はありません。
利用者業務で使用済みの順序番号が大きい場合は、再定義による補正が必要です。
順序番号の再定義による補正が必要な場合、dxsvstopコマンドを実行します。これにより、DBミラーリングシステムは、正系ノードのDBミラーリングサービスと副系ノードのDBミラーリングサービスを連動して通常停止します。
$ dxsvstop
dxinfコマンドのsオプションの実行により、DBミラーリングサービスが通常停止していることを確認します。
DBミラーリングサービスの通常停止の確認については、“付録C コマンド表示内容の確認”の“C.1.2 sオプション”を参照してください。
副センタマスタノードの順序番号を確認した結果より利用者業務で使用済みの順序番号が大きい場合は、順序定義の初期値に利用者業務で使用済みの順序番号より大きい(増分値が負の数の場合は小さい)値を設定して、再定義することで補正します。
副センタマスタノードの順序番号を確認した結果が498000、利用者業務で使用済みの順序番号が498432の場合の、再定義する定義文の例を以下に示します。
-- 削除文 DROP SEQUENCE S1.順序1; -- 定義文 CREATE SEQUENCE S1.順序1 INCREMENT BY 500 START WITH 498500 (注) MAXVALUE 1000000;
注)初期値に補正した順序番号を設定
データベースの定義変更を行った場合、データベース資源の関連付けを行います。
DCUを構成するデータベース二重化/Mirroring ControllerのRLPのうち、複写元RLPと複写先RLPをrdbbcdcuコマンドで特定します。
rdbbcdcuコマンドのVオプションおよび、bオプションを実行してDCU構成を確認します。
複写元RLPおよび複写先RLPの特定については、“付録C コマンド表示内容の確認”の“C.2.1 Vオプションおよびbオプション”を参照してください。
rdbbcmapコマンドのEオプションおよび、pオプションを実行してデータベース二重化/Mirroring Controllerの複写元RLPの資源識別子を抽出し、その資源識別子抽出ファイルを副センタマスタノードから副センタミラーノードに転送します。
$ rdbbcmap -E -p 'データベース二重化/Mirroring Controllerの複写元RLP名' '副センタマスタノードのデータベース二重化/Mirroring Controllerの資源識別子抽出ファイル名'
DCUを構成するデータベース二重化/Mirroring ControllerのRLPのうち、複写先RLPについて、セットアップスクリプトdxfmtmndb.shのdオプションおよび、pオプション、Mオプションを実行して、RLP管理オブジェクトを初期化します。
$ dxfmtmndb.sh -d 'データベース二重化/Mirroring Controllerの複写先RLPのRLP定義ファイル名' -p 'データベース二重化/Mirroring Controllerの複写先RLP名' -M
DCUを構成するデータベース二重化/Mirroring ControllerのRLPのうち、複写先RLPについて、副センタミラーノードで抽出した資源識別子抽出ファイル名を指定して、rdbbcmapコマンドのRオプションおよび、pオプションを実行して資源識別子の登録および確認を行います。
$ rdbbcmap -R -p 'データベース二重化/Mirroring Controllerの複写先RLP名' '副センタミラーノードのデータベース二重化/Mirroring Controllerの資源識別子抽出ファイル名'
順序番号の再定義による補正のためにDBミラーリングサービスを停止した場合、dxsvstartコマンドのcオプションを実行し、正系ノードのDBミラーリングサービスを開始します。
$ dxsvstart -c
dxinfコマンドのsオプションの実行により、正系ノードのDBミラーリングサービスが開始されていることを確認します。
正系ノードのDBミラーリングサービスの開始の確認については、“付録C コマンド表示内容の確認”の“C.1.2 sオプション”を参照してください。
データベースの内容を確認し、利用者業務との整合性を合わせてください。
定常運用でリカバリポイントを設定している場合は、リカバリポイントを利用して利用者業務の切れ目など任意の地点にリカバリすることが可能です。
副センタアプリケーションサーバの操作
利用者業務を開始します。アプリケーションサーバを利用して、データベースへのアクセスを行う場合、アプリケーションサーバは、副センタマスタノードのDBミラーリングサービス開始後、かつ、利用者業務開始前に起動してください。
副センタミラーノードの操作
利用者が被災を認識し、被災時の運用への切り替えの判断および指示を行います。
順序番号の再定義による補正が必要な場合、dxinfコマンドのsオプションの実行により、DBミラーリングサービスが通常停止していることを確認します。
DBミラーリングサービスの通常停止の確認については、“付録C コマンド表示内容の確認”の“C.1.2 sオプション”を参照してください。
副センタマスタノードの順序番号を確認した結果より利用者業務で使用済みの順序番号が大きい場合は、順序定義の初期値に利用者業務で使用済みの順序番号より大きい(増分値が負の数の場合は小さい)値を設定して、再定義することで補正します。
副センタマスタノードの順序番号を確認した結果が498000、利用者業務で使用済みの順序番号が498432の場合の、再定義する定義文の例を以下に示します。
-- 削除文 DROP SEQUENCE S1.順序1; -- 定義文 CREATE SEQUENCE S1.順序1 INCREMENT BY 500 START WITH 498500 (注) MAXVALUE 1000000;
注)初期値に補正した順序番号を設定
データベースの定義変更を行った場合、データベース資源の関連付けを行います。
DCUを構成するデータベース二重化/Mirroring ControllerのRLPのうち、複写元RLPと複写先RLPをrdbbcdcuコマンドで特定します。
rdbbcdcuコマンドのVオプションおよび、bオプションを実行してDCU構成を確認します。
複写元RLPおよび複写先RLPの特定については、“付録C コマンド表示内容の確認”の“C.2.1 Vオプションおよびbオプション”を参照してください。
rdbbcmapコマンドのEオプションおよび、pオプションを実行してデータベース二重化/Mirroring Controllerの複写元RLPの資源識別子を抽出し、その資源識別子抽出ファイルを副センタミラーノードから副センタマスタノードに転送します。
$ rdbbcmap -E -p 'データベース二重化/Mirroring Controllerの複写元RLP名' '副センタミラーノードのデータベース二重化/Mirroring Controllerの資源識別子抽出ファイル名'
DCUを構成するデータベース二重化/Mirroring ControllerのRLPのうち、複写先RLPについて、セットアップスクリプトdxfmtmndb.shのdオプションおよび、pオプション、Mオプションを実行して、RLP管理オブジェクトを初期化します。
$ dxfmtmndb.sh -d 'データベース二重化/Mirroring Controllerの複写先RLPのRLP定義ファイル名' -p 'データベース二重化/Mirroring Controllerの複写先RLP名' -M
DCUを構成するデータベース二重化/Mirroring ControllerのRLPのうち、複写先RLPについて、副センタマスタノードで抽出した資源識別子抽出ファイル名を指定して、rdbbcmapコマンドのRオプションおよび、pオプションを実行して資源識別子の登録および確認を行います。
$ rdbbcmap -R -p 'データベース二重化/Mirroring Controllerの複写先RLP名' '副センタマスタノードのデータベース二重化/Mirroring Controllerの資源識別子抽出ファイル名'
順序番号の再定義による補正のためにDBミラーリングサービスを停止した場合、dxsvstartコマンドのrオプションを実行し、副系ノードのDBミラーリングサービスを開始します。
$ dxsvstart -r
dxinfコマンドのsオプションの実行により、副系ノードのDBミラーリングサービスが開始されていることを確認します。
副系ノードのDBミラーリングサービスの開始の確認については、“付録C コマンド表示内容の確認”の“C.1.2 sオプション”を参照してください。