ジャーナリングを停止して処理の高速化
Speed up by Journal Off.
ジャーナリングとは、データベースへ書き込む時にその内容を別のファイル「ジャーナルファイル」にも書き込むことです。
ジャーナリングは
- 障害発生時に復旧する
- トランザクションのロールバックを行う
- シャドウイングで他のマシンに変更を反映する
時に使用されます。 ジャーナリングについてはSymposia2013の「Caché
ジャーナルについて」にまとめられています。
このジャーナリングを停止すると、ジャーナルファイルへの書き込みが行われなくなるのでデータベースの書き込み処理が高速化されます。 ジャーナリングを停止することで、
- 障害発生時に復旧する
- トランザクションのロールバックを行う
- シャドウイングで他のマシンに変更を反映する
これらの処理が行えなくなる危険性がありますが、この危険性を許容できる状況下で大量のデータを書き込むルーチンの先頭に入れることで高速化することができます。
自プロセスでジャーナリングを無効にする
ジャーナリングを停止するには
Do DISABLE^%NOJRN
コマンドを入力します。
これによりこのコマンドを実行したプロセスでジャーナリングが停止されます。
他のプロセスでは、これまでどおりジャーナリングを行いますので注意してください。
ジャーナリングを再開するには
Do ENABLE^%NOJRN
コマンドを実行します。
これによりこのコマンドを実行したプロセスでジャーナリングが再開されます。
ジャーナリングが無効になっていることを確認
以下のような処理を実行します。
USER>S ^A=1
USER>S ^A=2
USER>Do DISABLE^%NOJRN
USER>S
^A=3
USER>S ^A=4
USER>Do ENABLE^%NOJRN
USER>S ^A=5
USER>S ^A=6
システム管理ポータルの、システムオペレーション⇒ジャーナル⇒(直近の)参照 から ^Aの行を見つけます。
![](img7.gif) 行左側の数字のリンクをそれぞれクリックすると、セットした内容が確認できます。
![](imgB1.jpg) ![](imgA1.jpg) ![](imgC.jpg)
このように Disable 〜 Enable の間に行った、3と4のセットはジャーナルされていないことが確認できました。
システム全体でジャーナリングを無効にする
上記方法では、コマンドを実行したプロセスでのみジャーナリングが停止されます。
システム全体のジャーナリングを停止するには、%SYSネームスペースで
D ^JRNSTOP
を、再開するには
D ^JRNSTART
を実行してください。
![](/icon_change.jpg)
|