対象バージョン: 現在リリースしているすべてのバージョン
対象プラットフォーム: すべてのプラットフォーム
[発生する問題]
特定のシステム構成において、システムの異常終了/強制終了後のリカバリ処理でデータの整合性が失われる問題が発生します。
[問題の詳細]
システム開始時のWIJ(ライト・イメージ・ジャーナル)適用が失敗することにより整合性が失われる問題が発生します。
WIJによるデータ保護の仕組みはCacheデータ整合性ガイドに記載しております。
http://docs.intersystems.com/cache20141j/csp/docbook/DocBook.UI.Page.cls?KEY=GCDI_wij
100以上のデータベースをマウントしており、そのデータベースファイルのパスが長いシステムでこの問題が発生します。具体的には、データベース・パスの合計が約32,000文字を超えた場合に該当します。
お使いのシステムがこの条件に該当するかどうかは以下のコマンドで確認できます。このコマンドはOSの管理者として実行する必要があります。
* Windowsの場合
<インストールディレクトリ>\bin\cwdimj -d2 -j <WIJディレクトリ> | find “Dirlen:”
* Unix/Linuxの場合
<インストールディレクトリ>/bin/cwdimj -d2 -j <WIJディレクトリ> | grep “Dirlen:”
* OpenVMSの場合
$ cwdimj :== $sys$disk:[-.bin]cwdimj.exe
[インストールディレクトリ.mgr] 上で次のコマンドを実行
$ pipe cwdimj -d2 -j_<WIJディレクトリ> | search sys$input “Dirlen:”
<インストールディレクトリ> と <WIJディレクトリ> はそれぞれ該当ディレクトリ指定に置き換えてください。
デフォルト設定でのWIJディレクトリはインストールディレクトリ下の mgr ディレクトリです。
コマンドを実行すると Dirlen: に続く数字が表示されます。
この値が32768以下であれば本問題は発生しません。
この値はシステムにデータベースを追加/削除することで変化しますのでご注意ください。このため Dirlen の値が 32768 に近い場合も以下の解決方法でご案内する修正版を入手してお使いのシステムに適用することを推奨します。
この条件に合致するシステムが何らかの理由で正常終了せず、その際に WIJ に保留中のデータベース更新情報が含まれていた場合、システムが正常に開始できずWIJファイルの削除が必要になります。これによりデータベース整合性の問題が発生します。この問題が発生した場合は、コンソールログファイル(cconsole.log)に以下のようなメッセージが記録されます:
Starting WIJ recovery for ‘\CACHE.WIJ’.
(0より大きい数値) blocks pending in this WIJ.
WIJ pass # is 0.
WIJ file does not match expectations: XXXXX
[解決方法]
この問題は修正ID: JPL1675 で解決します。この修正は今後リリースするすべてのバージョンに含まれる予定です。
また、お客様のご要望により、修正を現在お使いの製品に対するパッチとして個別に作成してご提供することが可能です。
本件についてご質問等ございましたら
インターシステムズジャパン・カスタマサポートセンターまでお知らせください。