8.5.2: Automatic Corrupt Database Collection
今日は8.5.2の新機能として、Automatic Database Corruption Toolと言う機能について紹介したいと思います。
Detecting corrupted databases (文書番号 1429891)
データベース破損は発生しないに越したことはないのですが発生時には発生直前直後のDBを採取するのが重要なのですが、いつ発生するか分からないデータベースの退避などは非常に難しいのではないかと思います。
直前は難しくても発生前、くらいでよければバックアップなどから探せますが、発生直後のFixupが実行される前のDBを入手するための手段としてこの機能が導入されました。
まず簡単に動作を見るため、サーバーコマンドで手動実行してみましょう。
この処理だけでも以下のような動作が分かると思うのではないかと思います。
- load dbcapture で手動実行出来る
- 拡張子を*.corにして、IBM_TECHNICAL_SUPPORT\ACDC ディレクトリに退避する
ただし、「Automatic」Database Corruption Toolですから自動でこれらの処理が実行されなくてはいけません。
この設定は以下のNotes.ini 設定で有効化します。(詳細はTechnoteも見てください)
DATABASE_CAPTURE_ENABLED=1
(Set con DATABASE_CAPTURE_ENABLED=1で再起動無しで有効化出来ます)
その他の設定は以下の通りです。
DATABASE_CAPTURE_LIMIT: 退避するDBの上限
DATABASE_CAPTURE_SIZE_LIMIT : 退避するDBのサイズの上限 (これ以上のサイズは退避しない)
DATABASE_CAPTURE_DIRECTORY : 退避するディレクトリ
動作を確認するために、メモ帳などでNSFファイルを適当に編集して保存して、意図的にNSFファイルを壊してアクセスしてみましょう。
以下のように検知と同時にDBが退避されるのが分かると思います。
Technoteには書いてありますが、DATABASE_CAPTURE_ENABLED=1 は起動時にこの値を検出して設定を有効にすると値を消してしまいます。なので、再起動後は設定が無効になる点は注意してください。(この辺は設定が選べるとよかったのですが)
また、同じファイル名・異なる拡張子の場合バックアップファイル名が同じになってエラーになってしまうのでそのようなファイルを退避したい場合には注意してください(問題報告番号 HNAA88VG8D)
これもバージョンアップの動機になるような新機能ではないですがサポートシーンで問題の早期解決の役に立つことが出てきたらよいな、と思っています。
Detecting corrupted databases (文書番号 1429891)
データベース破損は発生しないに越したことはないのですが発生時には発生直前直後のDBを採取するのが重要なのですが、いつ発生するか分からないデータベースの退避などは非常に難しいのではないかと思います。
直前は難しくても発生前、くらいでよければバックアップなどから探せますが、発生直後のFixupが実行される前のDBを入手するための手段としてこの機能が導入されました。
まず簡単に動作を見るため、サーバーコマンドで手動実行してみましょう。
load dbcapture mail.box
Captured database C:\Lotus\Domino\8.5.2\data\mail.box to C:\Lotus\Domino\8.5.2\data\IBM_TECHNICAL_SUPPORT\ACDC\mail.cor
この処理だけでも以下のような動作が分かると思うのではないかと思います。
- load dbcapture で手動実行出来る
- 拡張子を*.corにして、IBM_TECHNICAL_SUPPORT\ACDC ディレクトリに退避する
ただし、「Automatic」Database Corruption Toolですから自動でこれらの処理が実行されなくてはいけません。
この設定は以下のNotes.ini 設定で有効化します。(詳細はTechnoteも見てください)
DATABASE_CAPTURE_ENABLED=1
(Set con DATABASE_CAPTURE_ENABLED=1で再起動無しで有効化出来ます)
その他の設定は以下の通りです。
DATABASE_CAPTURE_LIMIT: 退避するDBの上限
DATABASE_CAPTURE_SIZE_LIMIT : 退避するDBのサイズの上限 (これ以上のサイズは退避しない)
DATABASE_CAPTURE_DIRECTORY : 退避するディレクトリ
動作を確認するために、メモ帳などでNSFファイルを適当に編集して保存して、意図的にNSFファイルを壊してアクセスしてみましょう。
l fixup mail2.nsf
**** DbInfoIsCorrupt(DbWriteDbInfo: First or Next RRVPos invalid), DB=C:\Lotus\Domino\8.5.2\data\mail2.nsf TID=[00A0:0002-009C] ***
2010/09/01 21:26:17 Database Fixup: Started: mail2.nsf
Captured database C:\Lotus\Domino\8.5.2\data\mail2.nsf to C:\Lotus\Domino\8.5.2\data\IBM_TECHNICAL_SUPPORT\ACDC\mail2.cor
2010/09/01 21:26:17 Database Fixup: Unable to fixup database
C:\Lotus\Domino\8.5.2\data\mail2.nsf: The Notes database file header is corrupted
[00A0:0002-009C] 2010/09/01 21:26:17 Database Fixup: Shutdown
以下のように検知と同時にDBが退避されるのが分かると思います。
Technoteには書いてありますが、DATABASE_CAPTURE_ENABLED=1 は起動時にこの値を検出して設定を有効にすると値を消してしまいます。なので、再起動後は設定が無効になる点は注意してください。(この辺は設定が選べるとよかったのですが)
また、同じファイル名・異なる拡張子の場合バックアップファイル名が同じになってエラーになってしまうのでそのようなファイルを退避したい場合には注意してください(問題報告番号 HNAA88VG8D)
これもバージョンアップの動機になるような新機能ではないですがサポートシーンで問題の早期解決の役に立つことが出てきたらよいな、と思っています。
コメント