記事
Hiroshi Sato · 2022年8月28日 1m read

特定のテーブルデータのみをロールバックしないようにする

これは InterSystems FAQ サイトの記事です。
 

実行ログデータなどトランザクション中にロールバックが発生しても前の状態に戻ってほしくないデータがあります。

それらのデータをロールバックされないデータベースIRISTEMPに配置することで上記の要件に対応できます。

一時グローバルと IRISTEMP データベース

ロールバックさせたくないテーブルの実体をこのデータベースにマッピングすることでロールバック後に情報を残すことができます。

ただし、このデータベースはIRIS再起動で内容がクリアされますので、永続的に保持したい場合には、いずれかのタイミング(ロールバック後等)で永続テーブルにコピーを行う必要があります。

また、これとは別に、トランザクション対象外としたいテーブル操作の前にプロセスのジャーナル記録を停止し、操作完了後にジャーナル記録を再開することで、その操作をトランザクション対象外にすることもできます。

ただしこの方法は、ミラーリングをお使いいただく際にはご使用いただけません。

%NOJRN を使用したプロセス・レベルでのジャーナリングの管理

デベロッパーコミュニティの記事

0
0 33
ディスカッション (0)1
続けるにはログインするか新規登録を行ってください