ユーザデータベース用のRDBディレクトリファイルとRDBディクショナリ用のRDBディレクトリファイルを同時にリカバリする場合は、リカバリ時の運用状態により、rdbrcvdicコマンドのOverwriteモードまたはLOADモードでリカバリします。
参照
rdbrcvdicコマンドの指定方法の詳細については、“コマンドリファレンス”を参照してください。
Symfoware/RDB運用中にリカバリする場合は、rdbrcvdicコマンドのOverwriteモードでリカバリします。
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) 目的業務を実行します。 ★ 障害発生 (6) RDBディレクトリファイルをSymfoware/RDBから切り離し ――― rdbexdirコマンド ます。 (mdetachオプションかつ uオプション またはsオプション) (7) 媒体障害の場合は、障害ボリュームを取り換えます。 ――― CE作業 (8) ボリュームを取り換えた場合は、ボリュームの構成 ―――【RHEL-AS4の場合】 情報をリカバリします。 partedコマンドかつ rawコマンド 【RHEL5またはRHEL6の場合】 partedコマンド (9) 切り離したRDBディレクトリファイルを接続します。 ――― rdbexdirコマンド (mattachオプションかつ uオプション またはsオプション) (10) ユーザデータベース用のRDBディレクトリファイル ――― rdbrcvdicコマンド およびRDBディクショナリ用のRDBディレクトリファイルを (Overwriteモード) リカバリします。 スケーラブルディレクトリ運用を行っている場合 → (11)へ (11) すべてのユーザロググループ用のRDBディレクトリファ ――― rdbscldirコマンド イルの状態を確認します。 (Vオプション) 状態(Status)が“inhibit”の場合は、 “11.2.5.1 Symfoware/RDB運用中のリカバリ”の(10)と(11)を実行してください。
ここでは、以下の場合を想定しています。
rdbpldicコマンドによるフォールバック運用を行っている
スケーラブルディレクトリ運用を行っている
$ rdbstart $ rdbddlex -d 在庫管理DB /rdb/ddl.dat $ rdbpldic -F -U -d 在庫管理DB -T 目的業務の実行 rdb: ERROR:qdg03420u: RDBIIディレクトリファイルをアクセス禁止状態にします 原因コード='1' 調査コード='1 2 0 5' (システム名=rdbsys1) $ rdbexdir -mdetach -u $ rdbexdir -mdetach -s CE作業 … 媒体障害の場合は、障害ボリュームの交換およびボリューム構成情報のリカバリ $ rdbexdir -mattach -u $ rdbexdir -mattach -s $ rdbrcvdic -O 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
Symfoware/RDB停止中にリカバリする場合は、rdbrcvdicコマンドのLOADモードでリカバリします。
Symfoware/RDB停止中にリカバリする場合のリカバリ操作の手順とリカバリ操作例を以下に示します。
DIR_FILE1: ユーザデータベース用のRDBディレクトリファイル
DIR_FILE2: RDBディクショナリ用のRDBディレクトリファイル
(1) Symfoware/RDBを起動します。 ――― rdbstartコマンド (2) データベースを定義します。 ――― rdbddlexコマンド (3) 目的業務を実行します。 ★ 障害発生 (4) Symfoware/RDBを停止します。 ――― rdbstopコマンド (5) 媒体障害の場合は、障害ボリュームを取り換えます。 ――― CE作業 (6) ボリュームを取り換えた場合は、ボリュームの構成情報をリカバリします。 ―――【RHEL-AS4の場合】 partedコマンドかつ rawコマンド 【RHEL5またはRHEL6の場合】 partedコマンド (7) ユーザデータベース用のRDBディレクトリファイルおよび ――― rdbrcvdicコマンド RDBディクショナリ用のRDBディレクトリファイルをリカバリ (LOADモード) します。 スケーラブルディレクトリ運用を行っていない場合 → (10)へ スケーラブルディレクトリ運用を行っている場合 → (8)へ (8) すべてのユーザロググループ用のRDBディレクトリファ ――― rdbscldirコマンド イルを再登録します。 (Aオプションかつ gオプション) (9) すべてのユーザロググループ用のRDBディレクトリファ ――― rdbscldirコマンド イルが正常に登録されたことを確認します。 (Vオプション) 状態(Status)が“inhibit”の場合は、 “11.2.5.2 Symfoware/RDB停止中のリカバリ”(7)と(8)を実行してください。 (10) Symfoware/RDBを起動します。 ――― rdbstartコマンド
ここでは、以下の場合を想定しています。
スケーラブルディレクトリ運用を行っている
$ rdbstart $ rdbddlex -d 在庫管理DB /rdb/ddl.dat 目的業務の実行 rdb: ERROR:qdg03420u: RDBIIディレクトリファイルをアクセス禁止状態にします 原因コード='1' 調査コード='1 2 0 5' (システム名=rdbsys1) $ rdbstop CE作業 … 媒体障害の場合は、障害ボリュームの交換およびボリューム構成情報のリカバリ $ rdbrcvdic -L -r /dev/raw/raw5 -du 1M 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