3.3.1 オンライン業務に適用する場合の運用
ここでは,インメモリデータ処理をオンライン業務に適用する場合の運用について,例題を使って説明します。
- 〈この項の構成〉
(1) 例題の条件
この例題での条件を次に示します。
-
オンライン業務でアクセスするRDエリアは,RDDATA01(表格納RDエリア)およびRDIDX01(インデクス格納RDエリア)です。
運用の流れを次の図に示します。
|
(2) コマンド実行手順
コマンドの実行手順を次に示します。
(a) RDエリアをインメモリ化する
-
RDDATA01およびRDIDX01を閉塞クローズ状態にします。
pdhold -r RDDATA01,RDIDX01 -c
-
システムログファイルをスワップします。
pdlogswap -d sys -w
-
RDDATA01およびRDIDX01をインメモリ化します。
pdmemdb -k stay -r RDDATA01,RDIDX01
このとき,インメモリデータバッファとRDエリアは,DB同期状態になります。
なお,ここでは,複数のRDエリアを一度にインメモリ化しています。この場合の注意事項については,「複数のRDエリアを一度にインメモリ化する場合の注意事項」を参照してください。
-
RDDATA01およびRDIDX01の閉塞クローズを解除します。
pdrels -r RDDATA01,RDIDX01 -o
-
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) オンライン業務を実行する
-
オンライン業務を実行します。
これによって,インメモリデータバッファの内容が更新され,DB非同期状態になります。
(c) インメモリデータバッファとRDエリアの同期を取る
-
インメモリデータバッファとRDエリアの同期を取ります。
pdhold -r RDDATA01,RDIDX01 -c
オンライン業務が終わったら,インメモリデータバッファのデータをRDエリアに書き込み,インメモリデータバッファとRDエリアの同期を取ります。これによって,DB同期状態になります。
pdhold -cコマンドを実行すると,インメモリデータバッファのデータをRDエリアに書き込みます。
- 注意事項
-
ここで,pdhold -cコマンドを使用しているのは,(d)でインメモリ化を解除するためです。インメモリ化を解除するときのRDエリアの閉塞は,pdhold -cコマンドで行います。pdhold -cコマンドで閉塞クローズ状態にすることによって,ほかのトランザクションが対象RDエリアにアクセスできないようにします。
(d) インメモリ化を解除する
-
RDDATA01およびRDIDX01のインメモリ化を解除します。
pdmemdb -k rels -r RDDATA01,RDIDX01
インメモリデータバッファがなくなります。これ以降は,グローバルバッファを使用します。
-
RDDATA01およびRDIDX01の閉塞を解除します。
pdrels -r RDDATA01,RDIDX01 -o