Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能


5.7.7 障害発生時の対処(定義追加または定義変更前の状態に戻す場合)

SDBデータベースの定義追加または定義変更中に障害が発生し,定義追加または定義変更前の状態に戻す場合の手順を次の図に示します。

なお,障害の発生時点によって(「5.7.3 SDBデータベースの定義追加または定義変更の手順(各手順の詳細)」の手順のどの時点で障害が発生したかによって),障害対処の手順の開始位置が異なります。

図5‒6 定義追加または定義変更前の状態に戻す場合の手順(4V FMBまたは4V AFMのSDBデータベースの場合)

[図データ]

図5‒7 定義追加または定義変更前の状態に戻す場合の手順(SD FMBのSDBデータベースの場合)

[図データ]

図中の項番は,以降の説明の( )の番号と対応しています。

5.7.3(4) SDBディレクトリ情報ファイルを作成して配布する」以前に障害が発生した場合は,UAPの実行環境は変更されていないため,上記の図に示す対処は必要ありません。

注意事項

(1)以降の説明で,【4V FMB,4V AFM】の表記がある個所の説明は,4V FMBまたは4V AFMのSDBデータベースの定義追加または定義変更をする際に実行する操作です。SD FMBのSDBデータベースの定義追加をする際は,実行する必要がない操作です。

〈この項の構成〉

(1) TP1/FSPのSDB定義情報領域の正副を元に戻す【4V FMB,4V AFM】

TP1/FSPのeesdhchg -cコマンドで,SDB定義情報領域の正副を切り替えて元の状態(定義追加または定義変更前の状態)に戻します。

(2) TP1/FSPのUAP共用ライブラリを入れ替え前の状態に戻す【4V FMB,4V AFM】

TP1/FSPのeechglibコマンドで,TP1/FSPのUAP共用ライブラリを入れ替え前の状態(定義追加または定義変更前の状態)に戻します。

(3) トランザクションの静止化を解除する

なお,(3)の操作は,障害対処作業の完了前にとりあえず業務を再開したい場合だけ実施してください。「(7) トランザクションを静止化する」の操作の前までは,業務を実行できます。

(4) 変更前のSDBディレクトリ情報ファイルを配布する

変更前のSDBディレクトリ情報ファイルを,pdsdbdefコマンドで全ユニットに配布してください。

(5) 待機系ユニットを再起動する

高速系切り替え機能を使用している場合は,HAモニタのmonsbystpコマンドですべての待機系ユニットをいったん終了し,pdstart -qコマンドですべての待機系ユニットを開始してください。

待機系ユニットを再起動することによって,SDBディレクトリ情報が常用常駐領域に常駐されます。

(6) SDBディレクトリ情報を事前常駐領域に常駐する

pdsdbarc -eコマンドで,SDBディレクトリ情報を事前常駐領域に常駐します。

(7) トランザクションを静止化する

(8) 事前常駐領域を常用常駐領域に切り替える

pdsdbarc -w -qコマンドで,事前常駐領域を常用常駐領域に切り替えます。pdsdbarc -w -qコマンドはユニットごとに実行します。この操作は全ユニットで実行してください。

参考

pdsdbarc -w -qコマンドは実行系ユニットに対してだけ実行できます。待機系ユニットについては,「(5) 待機系ユニットを再起動する」の操作で,常用常駐領域にSDBディレクトリ情報が常駐されます。

事前常駐領域中のSDBディレクトリ情報が無効状態の場合,事前常駐領域を常用常駐領域に切り替えることはできません。切り替えられなかったSDBディレクトリ情報を使用しているユニット(フロントエンドサーバまたはバックエンドサーバ)を経由するAPIまたはDMLはエラーになるため,無効状態のSDBディレクトリ情報を次に示すどちらかの方法で正常な状態にしてください。

(9) トランザクションの静止化を解除する

(9)の操作が完了すると,定義追加または定義変更前の状態に戻ります。

注意事項

SDBディクショナリ情報およびSDBディレクトリ情報は,ディクショナリ表に追加された状態のままとなっています。そのため,同じSDBデータベースの定義追加または定義変更を再度行う場合は,いったんディクショナリ表に追加されているSDBディクショナリ情報およびSDBディレクトリ情報をpdsdbdefコマンドの*DELETE DICTIONARY文および*DELETE DIRECTORY文で削除する必要があります。

なお,SDBディクショナリ情報およびSDBディレクトリ情報を削除した場合,削除後にHiRDBを再起動する必要があります。