記事
· 22 hr 前 2m read

データベースのジャーナルを無効にした場合の影響について

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

アプリケーション保全のために、データベースのジャーナルは必ず有効にしておく必要がありますが、何らかの理由でジャーナルを無効にしなければならない場合があるかと思います。

ディスク容量の縮小や、データ更新時のシステム負荷の削減など理由は様々です。

ここで注意していただきたいのは、データベースのジャーナルを無効にした場合にどのような影響がでてくるのか、ということです。

こちらのトピックでは、「データベースのジャーナルを無効にした場合の影響について」ご説明します。


ジャーナルを無効にする方法は、以下の2種類があります。

1. システム全体で無効にする方法(こちらを行う場合は【慎重】に!

Set $namespace="%SYS"
Do ^JOURNAL  > 2) Stop Journaling (^JRNSTOP)

2. プロセス単位で無効にする方法 ※ご参考

 do DISABLE^%SYS.NOJRN                   // ジャーナリングを停止
 do ENABLE^%SYS.NOJRN                    // ジャーナリングを開始

※ミラーリング対象のデータベースは、ジャーナルを無効にすることはできません。


ジャーナルを無効にした場合、以下のことができなくなります。

・ジャーナルが記録されないため、バックアップのジャーナルリストアができなくなります

・通常のトランザクションがロールバックできないだけではなく、インスタンス開始時のロールバックも対象とならないため、開始時のジャーナルリカバリおよびトランザクションロールバックができなくなります。
 →IRIS終了時に、データベースキャッシュ(バッファ)のみ更新されてまだデータベースファイルに反映されていない最新データが失われていたり、トランザクションロールバックが行われなくなります。
 →システム全体で無効にした場合、トランザクションでロールバックしようとすると <ROLLFAIL> エラーとなります。

ジャーナルを無効にすると、突然のシステム障害など何かあった場合に元に戻すことができなくなってしまいます。
やむを得ない理由でジャーナルを無効にする場合は、そのリスクも十分に考慮したうえで操作されますようお願いします。
 

以下のドキュメントもあわせてご覧ください。
データベースをジャーナリングしない場合の影響

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