ユーザデータベース用のRDBディレクトリファイルを含むリカバリを行う場合、データベースをすべて参照してリカバリするため、大変時間を必要とします。業務を再開するのに必要なDSIを把握している場合は、ユーザデータベース用のRDBディレクトリファイルのリカバリ時間を短縮することができます。RDBディレクトリファイルのリカバリ時間の短縮方法は、rdbrcvdicコマンドのddlオプションとrdbrcvコマンドのDIRモードによって行います。
rdbrcvdicコマンドでddlオプションを指定すると、RDBディレクトリファイルのデータベース資源のアクセス情報のリカバリは行いません。rdbrcvコマンドのDIRモードでDSI名を指定すると、そのDSIに関するRDBディレクトリファイルのデータベース資源のアクセス情報のみをリカバリします。このことにより、目的業務の再開までの時間を短縮することができます。残りのDSIに関するRDBディレクトリファイルのデータベース資源のアクセス情報は、目的業務と並行してリカバリすることができます。
参照
rdbrcvコマンドおよびrdbrcvdicコマンドの指定方法の詳細については、“コマンドリファレンス”を参照してください。
rdbrcvdicコマンドのddlオプションとrdbrcvコマンドのDIRモードを使用して、リカバリ時間の短縮化を行う場合の例を以下に示します。
DIR_FILE1: ユーザデータベース用のRDBディレクトリファイル
DIR_FILE2: RDBディクショナリ用のRDBディレクトリファイル
(1) Symfoware/RDBを起動します。 ――― rdbstartコマンド (2) データベースを定義します。 ――― rdbddlexコマンド (3) RDBディクショナリの退避データを取得します。 ――― rdbdmpdicコマンド (4) 目的業務を実行します。 ★ 障害発生 (5) Symfoware/RDBを停止します。 ――― rdbstopコマンド (6) 媒体障害の場合は、障害ボリュームを取り換えます。 ――― CE作業 (7) ボリュームを取り換えた場合は、ボリュームの構成情報をリカバリします。 ――― partedコマンド (8) RDBディクショナリおよびRDBディレクトリファイルを ――― rdbrcvdicコマンド リカバリします。ただし、RDBディレクトリファイルのデータ (FWモードの ベース資源のアクセス情報はリカバリしません。 ddlオプション) (9) Symfoware/RDBを起動します。 ――― rdbstartコマンド (10) 異常時に備えてRDBディクショナリの退避データを ――― rdbdmpdicコマンド 取得します。 (11) 目的業務で使用するDSIのアクセス情報をリカバリします。――― rdbrcvコマンド (DIRモード) (12) 目的業務を実行します。 (13) 目的業務で使用しないDSIのアクセス情報をリカバリし ――― rdbrcvコマンド ます。 (DIRモード)
$ rdbstart $ rdbddlex -d 在庫管理DB /rdb/ddl.dat $ rdbdmpdic -f dicback@/backup/rdb -y -e 目的業務の実行 rdb: ERROR:qdg03121u: RDBIIディクショナリにおいて 入出力障害が発生しました (システム名=rdbsys1) $ rdbstop CE作業 … 媒体障害の場合は、障害ボリュームの交換およびボリューム構成情報のリカバリ $ rdbrcvdic -F -f dicback@/backup/rdb -du 1M -w /home/rdb1/work -ddl rdb: INFO:qdg02654i: rdbrcvdicコマンドの処理を開始します (システム名=rdbsys1) rdb: INFO:qdg12694i: DSI‘在庫管理DB.在庫表DSI1’の定義情報のみをリカバリしアクセス禁止状態にしました (システム名=rdbsys1) ・ ・ rdb: INFO:qdg02655i: rdbrcvdicコマンドの処理が正常終了しました (システム名=rdbsys1) $ rdbstart $ rdbdmpdic -f dicback@/backup/rdb -y -e $ rdbrcv -D -i 在庫管理DB.在庫表DSI1 rdb: INFO: qdg02654i: rdbrcvコマンドの処理を開始します (システム名=rdbsys1) rdb: INFO: qdg02581i: DSI‘在庫管理DB.在庫表DSI1’を復元しました rdb: INFO: qdg02655i: rdbrcvコマンドの処理が正常終了しました (システム名=rdbsys1) 目的業務の再実行 $ rdbrcv -D -t /home/rdb1/rcv.list ・ ・
/home/rdb1/rcv.listの内容を以下に示します。
在庫管理DB.在庫表DSI2 在庫管理DB.在庫表DSI3