RDBディクショナリとRDBディレクトリファイルを同時にリカバリする場合は、リカバリ時の運用状態により、rdbrcvdicコマンドのOverwriteモード、FWモードまたはLOADモードでリカバリします。
参照
rdbrcvdicコマンドの指定方法の詳細については、“コマンドリファレンス”を参照してください。
Symfoware/RDB運用中のリカバリは、運用形態により異なります。
以下の運用の場合は、rdbrcvdicコマンドのOverwriteモードでリカバリします。
RDBDICONBUFFERの指定によるフォールバック運用でメモリ常駐化状態がCompleted(常駐化完了)の場合
以下の運用の場合は、rdbrcvdicコマンドのOverwriteモードかつfオプションでリカバリします。
RDBDICONBUFFERの指定によるフォールバック運用でメモリ常駐化状態がLoading(常駐化処理中)またはFaild(常駐化失敗)の場合
rdbpldicコマンドによるフォールバック運用の場合
メモリ常駐化を行わないフォールバック運用の場合
Symfoware/RDB運用中にリカバリする場合のリカバリ操作の手順とリカバリ操作例を以下に示します。
DIR_FILE1: ユーザデータベース用のRDBディレクトリファイル
DIR_FILE2: RDBディクショナリ用のRDBディレクトリファイル
注) 退避データは、運用形態により必要となります。
RDBDICONBUFFERの指定によるフォールバック運用の場合 → (1)へ rdbpldicコマンドによるフォールバック運用の場合 → (2)へ メモリ常駐化を行わないフォールバック運用の場合 → (2)へ (1) RDB構成パラメタファイルに“RDBDICONBUFFER=YES”を設定します。 (2) Symfoware/RDBを起動します。 ――― rdbstartコマンド (3) データベースを定義します。 ――― rdbddlexコマンド RDBDICONBUFFERの指定によるフォールバック運用の場合 → (5)へ rdbpldicコマンドによるフォールバック運用の場合 → (4)へ メモリ常駐化を行わないフォールバック運用の場合 → (5)へ (4) RDBディクショナリの情報をメモリに展開します。 ――― rdbpldicコマンド (Fオプションかつ Uオプション) (5) RDBディクショナリの退避データを取得します。 ――― rdbdmpdicコマンド (6) 目的業務を実行します。 ★ 障害発生 RDBDICONBUFFERの指定によるフォールバック運用の場合 → (7)へ rdbpldicコマンドによるフォールバック運用の場合 → (8)へ メモリ常駐化を行わないフォールバック運用の場合 → (8)へ (7) RDBディクショナリおよびRDBディレクトリファイルの ――― rdbprdicコマンド メモリ常駐化状態を確認します。 (mオプション) (8) RDBディクショナリをSymfoware/RDBから切り離します。 ――― rdbexspcコマンド (mdetachオプションかつ zオプション) 媒体障害が発生したボリュームにRDBディレクトリファイルを 配置してある場合 → (9)へ 媒体障害が発生したボリュームにRDBディレクトリファイルを 配置していない場合 → (10)へ (9) RDBディレクトリファイルをSymfoware/RDBから切り離し ――― rdbexdirコマンド ます。 (mdetachオプションかつ uオプション またはsオプション) (10) 媒体障害の場合は、障害ボリュームを取り換えます。 ――― CE作業 (11) ボリュームを取り換えた場合は、ボリュームの構成 ――― partedコマンド 情報をリカバリします。 (12) 切り離したRDBディクショナリを接続します。 ――― rdbexspcコマンド (mattachオプションかつ zオプション) 媒体障害が発生したボリュームにRDBディレクトリファイルを 配置してある場合 → (13)へ 媒体障害が発生したボリュームにRDBディレクトリファイルを 配置していない場合 → (14)へ (13) 切り離したRDBディレクトリファイルを接続します。 ――― rdbexdirコマンド (mattachオプションかつ uオプション またはsオプション) (14) RDBディクショナリおよびRDBディレクトリファイル ――― rdbrcvdicコマンド をリカバリします。 (Overwriteモード [かつfオプション]) スケーラブルディレクトリ運用を行っていない場合 → (16)へ スケーラブルディレクトリ運用を行っている場合 → (15)へ (15) すべてのユーザロググループ用のRDBディレクトリ ――― rdbscldirコマンド ファイルの状態を確認します。 (Vオプション) 状態(Status)が“inhibit”の場合は、 “11.2.5.1 Symfoware/RDB運用中のリカバリ”の(10)と(11)を実行してください。 (16) 異常時に備えてRDBディクショナリの退避データを ――― rdbdmpdicコマンド 取得します。
ここでは、以下の場合を想定しています。
rdbpldicコマンドによるフォールバック運用を行っている
スケーラブルディレクトリ運用を行っている
媒体障害が発生したボリュームにRDBディレクトリファイルを配置していない
$ rdbstart $ rdbddlex -d 在庫管理DB /rdb/ddl.dat $ rdbpldic -F -U -d 在庫管理DB -T $ rdbdmpdic -f dicback@/backup/rdb -y -e 目的業務の実行 rdb: ERROR:qdg03121u: RDBIIディクショナリにおいて 入出力障害が発生しました (システム名=rdbsys1) $ rdbexspc -mdetach -z CE作業 … 媒体障害の場合は、障害ボリュームの交換およびボリューム構成情報のリカバリ $ rdbexspc -mattach -z $ rdbrcvdic -O -f dicback@/backup/rdb -w /home/rdb1/work rdb: INFO:qdg02654i: rdbrcvdicコマンドの処理を開始します (システム名=rdbsys1) : rdb: INFO:qdg02655i: rdbrcvdicコマンドの処理が正常終了しました (システム名=rdbsys1) $ rdbscldir -V RDBII rdbscldir DATE:2007/04/14 TIME:10/20/30 LogGroup Status DBspace Size(Used rate) Directory file path system normal Exist 2048K(12%) /home/rdbdir/DIR_FILE1 grp1 normal Exist 1024K(23%) /home/grp1/DIR_FILE_G1 $ rdbdmpdic -f dicback@/backup/rdb -y -e
Symfoware/RDB停止中にリカバリする場合は、rdbrcvdicコマンドのFWモードまたはrdbrcvdicコマンドのLOADモードでリカバリします。
アーカイブログ運用を行っている場合は、FWモードにより、最新状態までリカバリします。
アーカイブログ運用を行っていない場合は、LOADモードにより、RDBディクショナリの退避データ取得時点までリカバリします。なお、格納データを暗号化している場合は、RDBディクショナリの退避データを取得した時点のマスタ暗号化キーファイルをバックアップから戻してください。その際、マスタ暗号化キーファイルの絶対パス名は、取得時点と同じでなければなりません。
Symfoware/RDB停止中かつアーカイブログ運用を行っている場合のリカバリ操作の手順とリカバリ操作例を以下に示します。
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コマンド リカバリします。 (FWモード) スケーラブルディレクトリ運用を行っていない場合 → (11)へ スケーラブルディレクトリ運用を行っている場合 → (9)へ (9) すべてのユーザロググループ用のRDBディレクトリファ ――― rdbscldirコマンド イルを再登録します。 (Aオプションかつ gオプション) (10) すべてのユーザロググループ用のRDBディレクトリファ ――― rdbscldirコマンド イルが正常に登録されたことを確認します。 (Vオプション) 状態(Status)が“inhibit”の場合は、 “11.2.5.2 Symfoware/RDB停止中のリカバリ”の(7)と(8)を実行してください。 (11) Symfoware/RDBを起動します。 ――― rdbstartコマンド (12) 異常時に備えてRDBディクショナリの退避データを ――― rdbdmpdicコマンド 取得します。
ここでは、以下の場合を想定しています。
スケーラブルディレクトリ運用を行っている
$ 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 rdb: INFO:qdg02654i: rdbrcvdicコマンドの処理を開始します (システム名=rdbsys1) : rdb: INFO:qdg02655i: rdbrcvdicコマンドの処理が正常終了しました (システム名=rdbsys1) $ rdbscldir -A -g grp1 /home/grp1/DIR_FILE_G1 $ rdbscldir -V RDBII rdbscldir DATE:2007/04/14 TIME:10/20/30 LogGroup Status DBspace Size(Used rate) Directory file path system normal Exist 2048K(12%) /home/rdbdir/DIR_FILE1 grp1 normal Exist 1024K(23%) /home/grp1/DIR_FILE_G1 $ rdbstart $ rdbdmpdic -f dicback@/backup/rdb -y -e