同期取得時点に回復する場合について説明します。
RDDATA01(表格納RDエリア),RDLOB01(LOBデータ格納RDエリア)およびRDIDX01(インデクス格納RDエリア)をインメモリ化しました。
障害発生時の状況を次の図に示します。
図5-8 障害発生時の状況(バッファ障害を同期取得時点に回復する場合(関連RDエリアなし))
RDDATA01,RDLOB01およびRDIDX01中のデータは同期取得時(インメモリ化時)のままです。RDDATA01,RDLOB01およびRDIDX01のデータを再度インメモリ化してインメモリデータバッファを同期取得時点に回復します。
障害回復の手順を次の図に示します。
図5-9 障害回復の手順(バッファ障害を同期取得時点に回復する場合(関連RDエリアなし))
コマンドの実行手順を次に示します。
pdclose -r RDDATA01,RDLOB01,RDIDX01 |
pdmemdb -k rels -r RDDATA01,RDLOB01,RDIDX01 -d |
pdrels -r RDDATA01,RDLOB01,RDIDX01 -o |
pdhold -r RDDATA01,RDLOB01,RDIDX01 -c |
pdmemdb -k stay -r RDDATA01,RDLOB01,RDIDX01 |
pdrels -r RDDATA01,RDLOB01,RDIDX01 -o |
障害回復時,インメモリデータバッファの状態およびインメモリRDエリアの状態は次の表のように遷移します。表の項番は,「(2)障害回復の手順」の実行手順の番号と対応しています。なお,表中の実行コマンドは,一部オプションを省略しています。
表5-4 障害回復時のインメモリデータバッファおよびインメモリRDエリアの状態遷移
項番 | 実行コマンド | コマンド実行後のバッファの状態※1 | コマンド実行後のRDエリアの状態※2 |
---|---|---|---|
RDDATA01,RDLOB01,RDIDX01 | |||
- | - | バッファ障害状態 | 障害閉塞かつオープン状態 |
1 | pdclose -r RDDATA01,RDLOB01,RDIDX01 | ↓ | 障害閉塞かつクローズ状態 |
2 | pdmemdb -k rels -r RDDATA01,RDLOB01,RDIDX01 -d | 未使用状態 | ↓ |
3 | pdrels -r RDDATA01,RDLOB01,RDIDX01 -o | ↓ | オープン状態 |
4 | pdhold -r RDDATA01,RDLOB01,RDIDX01 -c | ↓ | コマンド閉塞かつクローズ状態 |
5 | pdmemdb -k stay -r RDDATA01,RDLOB01,RDIDX01 | DB同期状態 | ↓ |
6 | pdrels -r RDDATA01,RDLOB01,RDIDX01 -o | ↓ | オープン状態 |