参照しかしていない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) ボリュームの構成情報をリカバリします。 ―――【RHEL-AS4の場合】 partedコマンドかつ rawコマンド 【RHEL5またはRHEL6の場合】 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/raw/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