Hitachi

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


3.3.1 オンライン業務に適用する場合の運用

ここでは,インメモリデータ処理をオンライン業務に適用する場合の運用について,例題を使って説明します。

〈この項の構成〉

(1) 例題の条件

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

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

図3‒3 オンライン業務に適用する場合の運用の流れ

[図データ]

(2) コマンド実行手順

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

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

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

     pdhold -r RDDATA01,RDIDX01 -c
  2. システムログファイルをスワップします。

     pdlogswap -d sys -w
  3. RDDATA01およびRDIDX01をインメモリ化します。

     pdmemdb -k stay -r RDDATA01,RDIDX01

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

    [図データ]

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

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

     pdrels -r RDDATA01,RDIDX01 -o
  5. RDDATA01およびRDIDX01のバックアップを取得します。

     pdcopy -m C:\rdarea\mast\mast01 -M r
     -r RDDATA01,RDIDX01
     -b C:\pdcopy\backup01 -p C:\pdcopy\list01

    バックアップの取得方法については,マニュアル「HiRDB システム運用ガイド」を参照してください。

    ポイント

    ここでは,RDエリアの閉塞クローズを解除してから参照可能モード(-M r)でバックアップを取得しています。通常と異なり,参照可能モードでバックアップを取得している間も更新ができます。このため,バックアップの取得中にオンライン業務を実行できます。インメモリRDエリアのバックアップ取得の仕組みについては,「バックアップを取得するときに気をつけること」を参照してください。

    注意事項

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

(b) オンライン業務を実行する

  1. オンライン業務を実行します。

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

    [図データ]

(c) インメモリデータバッファとRDエリアの同期を取る

  1. インメモリデータバッファとRDエリアの同期を取ります。

     pdhold -r RDDATA01,RDIDX01 -c

    オンライン業務が終わったら,インメモリデータバッファのデータをRDエリアに書き込み,インメモリデータバッファとRDエリアの同期を取ります。これによって,DB同期状態になります。

    pdhold -cコマンドを実行すると,インメモリデータバッファのデータをRDエリアに書き込みます。

    [図データ]

    注意事項

    ここで,pdhold -cコマンドを使用しているのは,(d)でインメモリ化を解除するためです。インメモリ化を解除するときのRDエリアの閉塞は,pdhold -cコマンドで行います。pdhold -cコマンドで閉塞クローズ状態にすることによって,ほかのトランザクションが対象RDエリアにアクセスできないようにします。

(d) インメモリ化を解除する

  1. RDDATA01およびRDIDX01のインメモリ化を解除します。

     pdmemdb -k rels -r RDDATA01,RDIDX01

    インメモリデータバッファがなくなります。これ以降は,グローバルバッファを使用します。

    [図データ]

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

     pdrels -r RDDATA01,RDIDX01 -o