ページの先頭行へ戻る
Symfoware Server V10.1.0 RDB運用ガイド

5.6 DSIを局所的にリカバリする方法

退避データをデータベーススペースごとに取得した場合は、ディスク破壊が発生したディスクに配置されているデータベーススペースだけを局所的にリカバリすることができます。

DSIを局所的にリカバリする場合の、リカバリ操作の手順とリカバリ操作例を以下に示します。

リカバリ操作の手順

(1)  対象DSIの退避データをエクステント形式で取得します。 ―――――― rdbdmpコマンド
(2)  目的業務を実行します。
(3)  アーカイブログファイルの強制切替えを行います。      ―――――― rdblogコマンド
                                                                      (Sオプション
                                                                      かつ
                                                                      aオプション)
(4)  対象DSIの退避データをエクステント形式で取得します。 ―――――― rdbdmpコマンド
(5)  アーカイブログを2つ破棄します。                     ―――――― rdblogコマンド
                                                                      (Rオプション
                                                                      かつ
                                                                      aオプション)
(6)  目的業務を実行します。
(7)  アーカイブログファイルの強制切替えを行います。      ―――――― rdblogコマンド
                                                                      (Sオプション
                                                                      かつ
                                                                      aオプション)
(8)  対象DSIの退避データをエクステント形式で取得します。 ―――――― rdbdmpコマンド
(9)  アーカイブログを破棄します。                        ―――――― rdblogコマンド
                                                                      (Rオプション
                                                                      かつ
                                                                      aオプション)
(10)  目的業務を実行します。

               ★ 媒体障害発生

(11)  媒体障害が発生したディスクに割り付けられたデータ   ―――――― rdbinfコマンド
      ベーススペースより、リカバリ対象のDSIを把握します。                 (pオプション)
(12)  媒体障害が発生したディスクに割り付けられたデータ   ―――――― rdbexspcコマンド
      ベーススペースを切り離します。                                  (mdetach
                                                                      オプション)
(13)  障害ディスクを取り換えます。                       ―――――― CE作業
(14)  ディレクトリ構成をリカバリします。                 ――――――  mkdirコマンド
(15)  切り離したデータベーススペースを接続します。       ―――――― rdbexspcコマンド
                                                                      (mattach
                                                                      オプション)
(16)  障害の発生している媒体(表のDSI)をリカバリします。  ―――――― rdbrcvコマンド
                                                                      (FWモード)
(17)  目的業務を再実行します。

リカバリ操作例

> rdbdmp -i 在庫管理DB.在庫表DSI1 -f D:\USERS\DEFAULT\BACKUP1.TXT -e -y

> rdbdmp -i 在庫管理DB.在庫表DSI2 -f D:\USERS\DEFAULT\BACKUP1.TXT -e -y

目的業務の実行

> rdblog -S -a

> rdbdmp -i 在庫管理DB.在庫表DSI1 -f D:\USERS\DEFAULT\BACKUP1.TXT -e -y
> rdbdmp -i 在庫管理DB.在庫表DSI2 -f D:\USERS\DEFAULT\BACKUP1.TXT -e -y

> rdblog -R -a
> rdblog -R -a

目的業務の実行

> rdblog -S -a

> rdbdmp -i 在庫管理DB.在庫表DSI1 -f D:\USERS\DEFAULT\BACKUP1.TXT -e -y

> rdbdmp -i 在庫管理DB.在庫表DSI2 -f D:\USERS\DEFAULT\BACKUP1.TXT -e -y

> rdblog -R -a

目的業務の実行

qdg13039u:データベーススペースのデバイスに異常を検出しました  DB名='在庫管理DB' 
  DBS名='DBSP_1' デバイス名='E:\SFWD\RDB\USR\DBSP\DBSP_1' 物理ブロック番号='99' 
  原因コード='1' 調査コード='2 0 ' (システム名=rdbsys1)
qdg03650u:入出力障害のためデータベースをアクセス禁止状態にしました
  DB名= '在庫管理DB' DSI名= '在庫表DSI1' ページ番号='10'
  DBS名='DBSP_1' 物理ブロック番号='99' (システム名=rdbsys1)

> rdbinf -p 在庫管理DB.DBSP_1 -a

> rdbexspc -mdetach -p 在庫管理DB.DBSP_1

CE作業  …  障害ディスクの交換

> mkdir E:\SFWD\RDB\USR\DBSP

> rdbexspc -mattach -p 在庫管理DB.DBSP_1

> rdbrcv -F -i  在庫管理DB.在庫表DSI1 -f D:\USERS\DEFAULT\BACKUP1.TXT
         -p 在庫管理DB.DBSP_1  -w D:\TEMP

qdg02654i:rdbrcvコマンドの処理を開始します (システム名=rdbsys1)
qdg14116i:指定した表のDSIに属するインデックスのDSIの復旧を開始します (システム名=rdbsys1)
qdg02595i:指定した資源'在庫管理DB.在庫表DSI1'に属するインデックスのDSI
  '在庫管理DB.製品名IXDSI1'のリカバリが正常終了しました (システム名=rdbsys1)
qdg02655i:rdbrcvコマンドの処理が正常終了しました (システム名=rdbsys1)

目的業務の再実行

D:\USERS\DEFAULT\BACKUP1.TXTの内容を以下に示します。

在庫管理DB.DBSP_1  E:\BACKUP\DBSP\DBSP_1
在庫管理DB.DBSP_2  E:\BACKUP\DBSP\DBSP_2
在庫管理DB.DBSP_3  E:\BACKUP\DBSP\DBSP_3