Hitachi

ノンストップデータベース HiRDB Version 10 バッチ高速化機能


3.4.1 テスト業務に適用する場合の運用

ここでは,インメモリデータバッファの更新内容を破棄したり,RDエリアのデータをインメモリデータバッファに再読み込みしたりするなどの運用方法を,インメモリデータ処理をテスト業務に適用する場合の応用例を使って説明します。

〈この項の構成〉

(1) 例題の条件

この例題での条件を次に示します。

運用の流れを次の図に示します。

図3‒4 テスト業務に適用する場合の運用の流れ

[図データ]

[図データ]

(2) コマンド実行手順

コマンドの実行手順を次に示します。

(a) RDエリアをインメモリ化する

  1. RDDATA01およびRDIDX01を閉塞クローズ状態にします。

     pdhold -r RDDATA01,RDIDX01 -c
  2. RDDATA01およびRDIDX01をインメモリ化します。

     pdmemdb -k stay -r RDDATA01,RDIDX01

    このとき,インメモリデータバッファとRDエリアは,DB同期状態になります。

    [図データ]

    なお,ここでは,複数のRDエリアをまとめてインメモリ化しています。この場合の注意事項については,「複数のRDエリアを一度にインメモリ化する場合の注意事項」を参照してください。

    注意事項

    インメモリ化するときのRDエリアの閉塞は,pdhold -cコマンドで行ってください。pdhold -cコマンドで閉塞クローズ状態にすることによって,ほかのUAPが対象RDエリアにアクセスできないようにします。

  3. RDDATA01およびRDIDX01の閉塞クローズを解除します。

     pdrels -r RDDATA01,RDIDX01 -o

(b) テスト業務を実行する

  1. 1回目のテスト業務を実行します。

    インメモリデータバッファの内容が更新され,DB非同期状態になります。

    [図データ]

(c) インメモリデータバッファ上の更新内容を破棄する

  1. RDDATA01およびRDIDX01を閉塞状態にします。

     pdhold -r RDDATA01,RDIDX01
  2. インメモリデータバッファ上のデータを破棄して更新を無効にします。

     pdmemdb -k cancel -r RDDATA01,RDIDX01

    このとき,インメモリデータバッファはバッファ障害状態に,RDエリアは障害閉塞状態になります。

    [図データ]

(d) RDエリアのデータを再読み込みする

  1. RDDATA01およびRDIDX01をクローズ状態にします。

     pdclose -r RDDATA01,RDIDX01
  2. RDエリアのデータをインメモリデータバッファへ再読み込みします。

     pdmemdb -k reload -r RDDATA01,RDIDX01

    これによって,テスト業務実行前の状態に戻ります。このとき,インメモリデータバッファとRDエリアは,DB同期状態になります。

    [図データ]

  3. RDDATA01およびRDIDX01の閉塞を解除します。

     pdrels -r RDDATA01,RDIDX01

(e) テスト業務を実行する

  1. 2回目のテスト業務を実行します。

    インメモリデータバッファの内容が更新され,DB非同期状態になります。

    [図データ]

(f) インメモリ化を強制解除する

  1. RDDATA01およびRDIDX01を閉塞状態にします。

     pdhold -r RDDATA01,RDIDX01
  2. RDDATA01およびRDIDX01のインメモリ化を強制解除します。

     pdmemdb -k rels -r RDDATA01,RDIDX01 -d

    これによって,インメモリデータバッファはなくなり,RDエリアは障害閉塞クローズ状態になります。なお,更新情報はRDエリアに反映されません。

    [図データ]

  3. RDDATA01およびRDIDX01の閉塞を解除します。

     pdrels -r RDDATA01,RDIDX01 -o