参照しかしていないDSIは、更新を行っていないため、更新ログの取得は行われません。そこで、rdbrcvコマンドのREFモードにより、アーカイブログを適用せずに、最新の状態にまでリカバリすることができます。また、媒体障害が発生したデータベーススペースに割り当てられているデータのみをリカバリするため、高速なリカバリを行うことができます。
参照のみを行っているDSIとは、退避データを作成したあと、リカバリ時点まで継続して更新抑止を設定してあるDSIのことです。
参照のみを行っているDSIをリカバリする場合には、以下の条件を満足していなければなりません。
rdbdmpコマンド実行時にNオプションを指定し、エクステント形式で退避データを取得している
上記方法で退避データを取得後に、以下の操作をしていない
更新抑止の解除
LOADモードのリカバリ
終了点指定のFWモードのリカバリ
DSIの再編成
参照のみを行っているDSIをリカバリする場合の、リカバリ操作の手順とリカバリ操作例を以下に示します。
DBSP: データベーススペース
(1) 対象DSIに“更新抑止”の利用規定を設定します。 ――― rdbrtrコマンド (rwオプション) (2) 対象DSIの退避データをエクステント形式で取得します。 ――― rdbdmpコマンド (Nオプション) (3) 目的業務を実行します。 ★ 媒体障害発生 (4) 事前に作成しておいたディスク上のデータベーススペース 情報一覧から破壊されているディスク上のデータベースス ペース名を確認します。 (5) 媒体障害が発生したボリュームに割り付けられたデータ ――― rdbinfコマンド ベーススペースより、リカバリ対象のDSIを把握します。 (pオプション) (6) 媒体障害が発生したボリュームに割り付けられたデータ ――― rdbexspcコマンド ベーススペースを切り離します。 (mdetachオプション) (7) 障害ボリュームを取り換えます。 ――― CE作業 (8) ボリュームの構成情報をリカバリします。 ――― partedコマンド (9) 切り離したデータベーススペースを接続します。 ――― rdbexspcコマンド (mattachオプション) (10) 障害の発生している媒体(表のDSI)をリカバリします。 ――― rdbrcvコマンド (REFモード) (11) 目的業務を再実行します。
リカバリ操作例を以下に示します。
$ rdbrtr -i 在庫管理DB.在庫表DSI1 -rw $ rdbdmp -i 在庫管理DB.在庫表DSI1 -f /home/rdb1/backup.data -N -e -y 目的業務の実行 rdb: ERROR: qdg13039u:データベーススペースのデバイスに異常を検出しました DB名='在庫 管理DB' DBS名='DBSP_1' デバイス名='/dev_symfoware/raw10' 物理ブロック番号='99' 原因コード='1' 調査コード='2 0 ' (システム名=rdbsys1) rdb: ERROR: qdg03650u:入出力障害のためデータベースをアクセス禁止状態にしました DB名= '在庫管理DB' DSI名= '在庫表DSI1' ページ番号='10' DBS名='DBSP_1' 物理ブ ロック番号='99' (システム名=rdbsys1) オペレータ操作 … 破壊されているディスク上のデータベーススペース名を確認する。 $ rdbinf -p 在庫管理DB.DBSP_1 -a $ rdbexspc -mdetach -p 在庫管理DB.DBSP_1 CE作業 … 障害ボリュームの交換およびボリューム構成情報のリカバリ $ rdbexspc -mattach -p 在庫管理DB.DBSP_1 $ rdbrcv -R -p 在庫管理DB.DBSP_1 -f /home/rdb1/backup.data -w /home/rdb1/work rdb: INFO: qdg02654i:rdbrcvコマンドの処理を開始します (システム名=rdbsys1) rdb: INFO: qdg12579i:DSI'在庫管理DB.在庫表DSI1'を退避データから復旧します (システム名=rdbsys1) rdb: INFO: qdg14116i:指定した表のDSIに属するインデックスのDSIの復旧を開始します (システム名=rdbsys1) rdb: INFO: qdg02595i:指定した資源'在庫管理DB.在庫表DSI1'に属するインデックスの DSI'在庫管理DB.製品名IXDSI1'のリカバリが正常終了しました (システム名=rdbsys1) rdb: INFO: qdg02655i:rdbrcvコマンドの処理が正常終了しました (システム名=rdbsys1) 目的業務の再実行
/home/rdb1/backup.dataの内容を以下に示します。
在庫管理DB.DBSP_1 /backup/rdb/raw10 在庫管理DB.DBSP_2 /backup/rdb/raw11 在庫管理DB.DBSP_3 /backup/rdb/raw12