ディスク障害などにより、DRレプリケーション資源が壊れた場合の復旧方法について説明します。
BCログ管理ファイルの復旧
RLP環境の復旧
RLPの復旧
RLPの初期化
BC管理DBの復旧
ポイント
RLP環境とは以下の資源を意味します。
RLM(送信用RLMファイル、受信用RLMファイル)
RLCファイル
RLC退避ファイル
RERUNログ抽出ファイル
RERUNログ引継ぎファイル
RERUNログ抽出作業域ファイル
BCログ管理ファイルを配置したディスクに異常が発生すると、RDBREPORTにBCログ管理ファイルの異常を通知する以下のいずれかのメッセージが出力されます。
qdg20162u:BCログ管理ファイルが閉塞されています
qdg20163u:BCログ管理ファイルが存在しません
qdg20166u:BCログ管理ファイルに異常があります
複写元システムのBCログ管理ファイルが壊れた場合、BCログ管理ファイルの復旧とRLPの復旧が必要です。複写先システムのBCログ管理ファイルが壊れた場合、BCログ管理ファイルの復旧が必要で、RLPの復旧は不要です。
以下の手順で復旧してください。
複写元システムと複写先システムが並列で表記されている場合は、どちらのシステムを先に実行しても問題ありません。
複写元システム | 複写先システム |
---|---|
(DRレプリケーション運用中) | (DRレプリケーション運用中) |
複写元システムまたは複写先システムで障害発生 | |
1.利用者プログラムの停止 | |
3.Symfoware/RDBの停止 | 3.Symfoware/RDBの停止 |
(複写元システムのBCログ管理ファイルが壊れた場合) | |
11.DRレプリケーション業務の起動 |
利用者プログラムの停止
DRレプリケーション業務の停止
lxrepdrrep -p RLP名 -a stop -m n -k both -f DRサーバ環境ファイル名 [-w 作業ディレクトリパス名](注)
注) DRレプリケーション業務の作成で指定した作業ディレクトリパス名を指定します。DRレプリケーション業務の作成時に-wオプションを省略した場合は、本操作でも省略することができます。
Symfoware/RDBの停止
復旧対象システムで、Symfoware/RDBを停止します。
障害原因の排除
復旧対象システムで、ディスク障害などのメッセージを確認し、障害ディスクの交換などを行い、システムを復旧します。
BCログ管理ファイルの再作成
復旧対象システムで、BCログ管理ファイルを再作成します。
lxrepdrlog -M -r
RLPの再登録
復旧対象システムで、BC ログ管理ファイルにすべてのRLP を再登録し、すべてのRLP が正常に登録されたことを確認します。
lxrepdrrlp -A -p RLP名 -S 送信用RLMファイル名 lxrepdrrlp -V -D
Symfoware/RDBの起動
復旧対象システムで、Symfoware/RDBを起動します。
RERUNログの取得停止
DRレプリケーションの全RLPを「終了オフライン」にします。
lxrepdrdis -p RLP名 -m term -k both -f DRサーバ環境ファイル名
RLPの初期化・全複写
RERUNログが取得されないケースがありますので、lxrepdrinitコマンドで両システムのすべてのRLPの初期化を行い、rdbunlコマンドとrdbsloaderコマンドで複写先データベースを複写します。詳細は、“6.5.1.4 RLPの初期化”を参照してください。
参考
RERUNログが取得されない可能性のあるケース
Symfoware/RDBの起動時にBCログ管理ファイルの異常を検出した場合
利用者プログラムの運用中に、BCログ管理ファイルに異常が発生した場合
RERUNログの取得開始
DRレプリケーションの全RLPを「オンライン」にします。
lxrepdrena -p RLP名 -k both -f DRサーバ環境ファイル名
DRレプリケーション業務の起動
lxrepdrrep -p RLP名 -a start -k both -f DRサーバ環境ファイル名 [-w 作業ディレクトリパス名](注)
注) DRレプリケーション業務の作成で指定した作業ディレクトリパス名を指定します。DRレプリケーション業務の作成時に-wオプションを省略した場合は、本操作でも省略することができます。
利用者プログラムの再開
複写元システムまたは複写先システムで障害が発生した場合、両システムに出力される以下のメッセージにより、RLP環境に異常が発生したことを確認します。なお、RLPに異常が発生した場合は、障害の発生したシステムのRLPは閉塞します。
qdg20122e:RLPを閉塞しました RLP名='RLP名'
RLP環境の資源に異常が発生した場合、障害の発生したシステムに以下のいずれかのメッセージが出力されます。
事象 | 資源 | メッセージ番号 | 発生システム |
---|---|---|---|
ディスク障害 | RLM | qdg20103u | 複写元システム |
RLCファイル | qdg20075u qdg20076u | ||
RLC退避ファイル | qdg20064u qdg20065u qdg20066u qdg20072u qdg20078u qdg20079u | ||
RERUNログ抽出ファイル | qdg20048u qdg20049u | 複写先システム | |
RERUNログ抽出作業域ファイル | qdg20052u qdg20053u | ||
RERUNログ引継ぎファイル | qdg20050u qdg20051u |
以下の手順で復旧してください。
複写元システムと複写先システムが並列で表記されている場合は、どちらのシステムを先に実行しても問題ありません。
複写元システム | 複写先システム |
---|---|
(DRレプリケーション運用中) | (DRレプリケーション運用中) |
複写元システムまたは複写先システムで障害発生 | |
1.利用者プログラムの停止 | |
4.障害原因の排除 | 4.障害原因の排除 |
5.RLPの復旧 |
利用者プログラムの停止
DRレプリケーション業務の停止
lxrepdrrep -p RLP名 -a stop -m n -k both -f DRサーバ環境ファイル名 [-w 作業ディレクトリパス名](注)
注) DRレプリケーション業務の作成で指定した作業ディレクトリパス名を指定します。DRレプリケーション業務の作成時に-wオプションを省略した場合は、本操作でも省略することができます。
RERUNログの取得停止
復旧対象RLPを「終了オフライン」にします。
lxrepdrdis -p RLP名 -m term -k both -f DRサーバ環境ファイル名
障害原因の排除
両システムのRDBREPORTなどのメッセージを確認し、復旧対象システムで、障害ディスクの交換などを行い、障害原因を取り除きます
RLPの復旧
復旧対象RLPを復旧(再作成)します。詳細は、“6.5.1.3 RLPの復旧”を参照してください。
RERUNログの取得開始
lxrepdrena -p RLP名 -k both -f DRサーバ環境ファイル名
DRレプリケーション業務の起動
lxrepdrrep -p RLP名 -a start -k both -f DRサーバ環境ファイル名 [-w 作業ディレクトリパス名](注)
注) DRレプリケーション業務の作成で指定した作業ディレクトリパス名を指定します。DRレプリケーション業務の作成時に-wオプションを省略した場合は、本操作でも省略することができます。
利用者プログラムの再開
障害の発生したRLPの再作成は、複写元システムからの操作で、両システム同時に行います。事前に、以下の操作が必要です。
利用者プログラムの停止
復旧対象RLPに対するDRレプリケーション業務の停止
復旧対象RLPに対するRERUNログの取得停止(終了オフライン)
以下の手順で復旧してください。復旧後は、当該RLPをオンラインにしてください。
複写元システムと複写先システムが並列で表記されている場合は、どちらのシステムを先に実行しても問題ありません。
複写元システム | 複写先システム |
---|---|
1.Symfoware/RDBの起動 | 1.Symfoware/RDBの起動 |
3.RLP管理オブジェクトの削除 | |
4.Symfoware/RDBの停止 | 4.Symfoware/RDBの停止 |
5.RLPの削除 | |
6.残存資源の削除 | 6.残存資源の削除 |
7.RLPの作成 | |
8.Symfoware/RDBの起動 | 8.Symfoware/RDBの起動 |
9.RLP管理オブジェクトの作成と初期化 | |
11.当該RLPの全複写 | 11.当該RLPの全複写 |
Symfoware/RDBの起動
Symfoware/RDBを起動します。
RLPの状態確認
復旧対象RLPが、「終了オフライン」であることを確認します。
lxrepdrrlp -V -O -p RLP名
RLP管理オブジェクトの削除
lxrepdrdrp -p RLP名 -m rlpobj -k both -f DRサーバ環境ファイル名
Symfoware/RDBの停止
Symfoware/RDBを停止します。
RLPの削除
lxrepdrdrp -p RLP名 -m rlp -k both -f DRサーバ環境ファイル名
残存資源の削除
両システムに、当該RLPのRLC退避ファイル、RERUNログ抽出ファイルが残存する場合は、OSのrmコマンドで削除してください。
RLPの作成
lxrepdrcrt -p RLP名 -m rlp -k both -f DRサーバ環境ファイル名 -d DRレプリケーション定義ファイル名 [-R]
センター切替えを行うシステムの場合は、-Rオプションを付加します。
Symfoware/RDBの起動
Symfoware/RDBを起動します。
RLP管理オブジェクトの作成と初期化
lxrepdrcrt -p RLP名 -m mndb -k both -f DRサーバ環境ファイル名 -d DRレプリケーション定義ファイル名 [-R]
センター切替えを行うシステムの場合は、-Rオプションを付加します。
資源識別子情報の抽出と登録
複写元システムから資源識別子情報を抽出し、複写先システムに登録を行います。
lxrepdrmap -p RLP名 -k both -f DRサーバ環境ファイル名 -d DRレプリケーション定義ファイル名
センター切替えを行うシステムの場合は、別途、複写先システムから資源識別子情報を抽出し、複写元システムに登録を行ってください。
当該RLPの全複写
復旧したRLPに対し、rdbunlコマンドおよびrdbsloaderコマンドを利用し、両システムのデータベースのDSIを創成します。
RLPの初期化は、以下の場合に実施します。
複写元システムと複写先システムの整合性合わせを実施する場合
RLP環境の資源に異常がない状態で、RLPの復旧を実施する場合
RLPを構成する資源に異常がある場合は、RLPの初期化はできません。RLPの再作成によりRLPの復旧を行ってください。
RLPの初期化によるRLPの復旧を実施する場合、以下の条件を満たしている必要があります。
lxrepdrrlpコマンドを実行し、RLPの運用状態を表示できること(閉塞していないこと)。かつ
以下の資源の配置先ディスクが正常であること。
BCログ管理ファイル
RLP管理オブジェクト
RLM
RLCファイル
RERUNログ引継ぎファイル
RERUNログ抽出ファイル
RLPの初期化は、Symfoware/RDBが起動状態である必要があります。また、事前に利用者プログラムとDRレプリケーション業務を停止しておく必要があります。
RLP環境の状態に合わせて、以下の作業が必要です。
RLPの初期化前の状態 | RLPの初期化時の作業 |
---|---|
複写元データベースと複写先データベースの整合性が不一致の場合 | RLPの初期化後に、全複写による複写先データベースの再創成 |
複写元データベースと複写先データベースの順序番号が不一致の場合 | RLPの初期化前に、複写先データベースの順序定義の再定義 |
センター切替えの場合 | RLPの初期化のみ(注) |
注) センター切替え時に、両システムのデータベースの整合性が保証されていること。
以下の手順で初期化してください。
複写元システムと複写先システムが並列で表記されている場合は、どちらのシステムを先に実行しても問題ありません。
複写元システム | 複写先システム |
---|---|
1.RLPの状態確認 | 1.RLPの状態確認 |
3.RLPの初期化 | |
4.残存資源の削除(注2) | 4.残存資源の削除(注2) |
5.資源識別子情報の抽出と登録 | |
6.全複写(注3) | 6.全複写(注3) |
注1) 両システムで、順序番号に差異がある場合
注2) 全複写を行う場合
注3) 両システムのデータベースが不一致の場合
RLPの状態確認
当該RLPが、「終了オフライン」または「DRオフライン」であることを確認します。
lxrepdrrlp -V -O -p RLP名
順序番号の取得と順序定義の再定義
両システムで、順序番号に差異がある場合、以下の手順で、複写先データベースの順序定義を再定義します。
順序番号の確認
複写元システムで、RLPの初期化で対象としたRLPが以下の場合には、順序番号の確認を行います。
スケーラブルログ運用でない場合
スケーラブルログ運用の場合に、初期化対象のRLPがシステムロググループに作成されているとき
順序番号の確認は、rdbexecsqlコマンドで確認します。
例)スキーマ名がSTOCKS、順序名が順序1の順序番号を確認する例
SQL>SELECT STOCKS.順序1.CURRVAL FROM RDBII_SYSTEM.RDBII_ASSISTTABLE <<1>> 1:+000000000000500000. Number of records:1 SQLSTATE:00000 SQLMSG:JYP2001I 正常に終了しました.
順序定義の再作成
複写元システムで取得した順序番号を元に、rdbddlexコマンドで複写先システムの順序定義を削除して再定義します。複写先システムで定義する順序は、以下の算出式により求めた値を順序定義の初期値として利用します。
【算出式】
順序定義にCACHE指定がない場合
順序番号の初期値 = 複写元システムの順序番号
順序定義にCACHE指定がある場合
順序番号の初期値= [(複写元システムの順序番号 +(増分間隔 ×割当順序数))
÷(増分間隔 × 割当順序数)]
×(増分間隔 × 割当順序数)
+ 複写元システムの初期値
[]内の除算で発生した小数値は切り捨て
例)
定義時に利用する順序定義文の例
以下の場合に、複写先システムで定義する順序定義文の例を示します。
複写元システムの順序番号を取得した結果:5
増分間隔:1
割当順序数:10
複写元システムの初期値:1
-- 削除文 DROP SEQUENCE SI.順序1; --定義文 CREATE SEQUENCE S1.順序1 INCREMENT BY 1 START WITH 11 ・・・ 初期値に補正した順序番号を設定 CACHE 10;
RLPの初期化
lxrepdrinit -p RLP名 -k both -f DRサーバ環境ファイル名
残存資源の削除
rdbunlコマンド、rdbsloderコマンドで複写先データベースの再創成を必要とする場合は、両システムに残存する当該RLPのRLC退避ファイルおよびRERUNログ抽出ファイルをOSのrmコマンドで削除してください。
資源識別子情報の抽出と登録
lxrepdrmap -p RLP名 -k both -f DRサーバ環境ファイル名 -d DRレプリケーション定義ファイル名
センター切替えを行うシステムの場合は、別途、複写先システムから資源識別子情報を抽出し、複写元システムに登録を行ってください。
Symfoware/RDBの暗号化機能を使用している場合の資源識別子情報の抽出と登録は、“6.1.3 Linkexpress Replication optionのセットアップ”を参照してください。
全複写
両システムのデータベースが不一致の場合は、rdbunlコマンドおよびrdbsloaderコマンドを利用し、複写先データベースのDSIを創成します。
BC管理DBがディスク障害などでRLP閉塞した場合は、BC管理DBの復旧に加えRLPの再作成が必要です。RLPが閉塞しない場合は、BC管理DBをメディアリカバリすることで復旧します。
BC管理DBが壊れた場合、以下のいずれかのメッセージが出力されます。複写元システムまたは複写先システムのRDBREPORTなどから、どちらのシステムのBC管理DBに異常が発生したかを確認してください。
複写元システム
qdg20026u:BC管理DBが閉塞されています RLP名='RLP名' RLP管理オブジェクト'BC管理DB名'.'DSI名'
qdg20122e:RLPを閉塞しました RLP名='RLP名'
複写先システム
qdg20026u:BC管理DBが閉塞されています RLP名='RLP名' RLP管理オブジェクト'BC管理DB名.DSI名'
qdg20030u:BC管理DBのRLP管理オブジェクト'BC管理DB名.DSI名'がアクセス禁止状態です
qdg12067u:デバイス'BC管理DBスペース名'で入出力障害が発生しました open errno=XXXX
qdg20122e:RLPを閉塞しました RLP名='RLP名'
Symfoware/RDBの起動で、BC管理DB(RLP管理オブジェクト)の障害を検出した場合、当該RLPは閉塞しますが、業務優先のため、Symfoware/RDBの起動は失敗しません。他のRLPは継続利用可能です。
以下の手順で復旧してください。
複写元システムと複写先システムが並列で表記されている場合は、どちらのシステムを先に実行しても問題ありません。
複写元システム | 複写先システム |
---|---|
(DRレプリケーション運用中) | (DRレプリケーション運用中) |
複写元システムまたは複写先システムで障害発生 | |
1.利用者プログラムの停止 | |
3.障害原因の排除 | 3.障害原因の排除 |
(RLPが閉塞している場合) 5.RERUNログの取得停止 6.RLPの復旧 7.RERUNログの取得開始 | |
8.DRレプリケーション業務の起動 |
利用者プログラムの停止
DRレプリケーション業務の停止
lxrepdrrep -p RLP名 -a stop -m n -k both -f DRサーバ環境ファイル名 [-w 作業ディレクトリパス名](注)
注) DRレプリケーション業務の作成で指定した作業ディレクトリパス名を指定します。DRレプリケーション業務の作成時に-wオプションを省略した場合は、本操作でも省略することができます。
障害原因の排除
BC管理DBのデータベーススペースを格納していたディスクの交換などを行い復旧します。
BC管理DBの復旧
復旧対象システムで、Symfoware/RDBのメディアリカバリ機能により、BC管理DBを障害発生直前の状態に復旧します。
RERUNログの取得停止
復旧対象RLPを「終了オフライン」にします。
lxrepdrdis -p RLP名 -m term -k both -f DRサーバ環境ファイル名
RLPの復旧
両システムの復旧対象RLPを復旧します。詳細は、“6.5.1.3 RLPの復旧”を参照してください。
RERUNログの取得開始
復旧したRLPをオンラインにします。
lxrepdrena -p RLP名 -k both -f DRサーバ環境ファイル名
DRレプリケーション業務の起動
lxrepdrrep -p RLP名 -a start -k both -f DRサーバ環境ファイル名 [-w 作業ディレクトリパス名](注)
注) DRレプリケーション業務の作成で指定した作業ディレクトリパス名を指定します。DRレプリケーション業務の作成時に-wオプションを省略した場合は、本操作でも省略することができます。
利用者プログラムの再開