Topic5 メンテナンスが必要な理由

 

さて、今回のテーマはNotes DBのメンテナンスです。第一回で触れた「サーバータスク」の中には「メンテナンスタスク」というメンテナンス専用の機能があり、Notes DBのトラブルを未然に防いだり、事後解決できたりします。

 

新任太郎「大変です、今朝から突然、私のメールDBが開かなくなりました。なんかcorruptとかそんな感じのメッセージが出ています」

 

おぉ、それはタイムリーにDB破損の事象が発生しましたね。ちょうどいい。ところで最近、何かメールDBに対して特殊な操作をしたりしましたか?

 

新任太郎「特に思い当たることはありません」

 

ほう、そうですか、ちょっと拝見。。アッ、DBのサイズが20GBもあるじゃないですか。オンプレミスのメールDBにしてはちょっと大きいですね。

 

新任太郎「そういえば昨夜、ファイルサーバーの容量がパンパンだったので、添付ファイルをめちゃめちゃメールDBに張り付けて一時保管したけど、なんかやっぱり全部要らない気がしてきてそれら10000文書を気まぐれに全削除したりしました」

 

めっちゃ特殊な操作してるやん。なるほど、それが原因かもしれません。悲しいですが、Notes DBは数GB以上になったり、多数のユーザーがアクセスしたり、しょっちゅう文書が全削除&全登録みたいな作業をしたりすると、壊れてしまって開けなくなることがあるのです。

 

新任太郎「そんなぁ、ドラ○もん、なんとかしてください」

 

わかりました。では復旧の仕方を指南します。

 

 1.Domino Administratorを起動し、管理者IDでログインする

 2.対象のメールDBのあるサーバーへ接続する

 3.サーバーコンソールから以下のコマンドを実行する

   >load fixup mail\hogehoge.nsf

   >load updall mail\hogehoge.nsf

      >load compact –c mail\hogehoge.nsf

 

新任太郎「mail\hogehoge.nsf見つかりません」

 

そこはご自身のメールファイルパスに読み替えてください。ファイルパスがわからない場合は、Dominoディレクトリにあるご自身のユーザー文書を確認してください。

 

新任太郎「あ、開けるようになりました!すごい、魔法のようだ!」

 

今実行したのがメンテナンスタスクです。このようにDBの情報がおかしくなった場合に修復することができます。先ほど実行した3つのコマンドは特に重要なので、それぞれの処理内容を書いておきましょう。

 

 Fixup:: Notes DBの整合性をチェックし、修復処理を行う

 Updall: Notes DBの索引(インデックス)、ビュー索引の修復を行う

 Compact: Notes DBを圧縮する(-cオプションは破損の際に有効)

 

もしも同じような状況で困っている人がいたら、これらをまず試してみてください。

 

 

Topic6 君が壊れてしまう前に

 

とはいっても、毎回こんな感じでDB破損の問い合わせを受けて個別にコマンドを打っていたら、ただでさえ多忙なDomino管理者の時間がいくらあっても足りないため、Dominoにはこれらのメンテナンスタスクをスケジュール実行する機能が備わっています。

 

まずは「プログラム文書」という機能です。Dominoディレクトリにある・・・

 

新任太郎「すいません、ちょいちょい出てくるDominoディレクトリというやつがイマイチよくわかりません」

 

その件につきましては認識しておりますが、話し出すと長いのでとりあえずサーバー上の「names.nsf」というファイルをNotesクライアントから開きやがれでございます。

 

新任太郎「わかりました」

 

Dominoディレクトリの左のナビゲータから「設定」‐「サーバー」‐「プログラム」ビューを開いてください。ここから「プログラム文書」を作成することで、指定した曜日の指定した時間に、タスクを自動実行できます。

 

新任太郎「あ、当社の場合は夜中の2時からCompactの処理が実行されているようです」

 

そうですね。そのようにユーザーのアクセスが少ない時間帯や、夜間バックアップ処理と重ならない時間帯をあらかじめ見通して、メンテナンスタスクを仕掛けている場合が多いです。

 

次に、「notes.ini」の「Servertasksatx=XXX」というパラメータを使っても同様に、スケジュール実行することができます。ただしこちらの場合は、時間しか指定できないので、指定すると問答無用に毎日実行されるので注意してください。

 

 

このようにメンテナンスタスクをきちんとスケジュールしておくことで、先ほど起きたような破損を未然に防ぎ、ユーザーと管理者をハッピーにすることができます。ただ、このメンテナンス設計は、壊れる前にやるのがミソなのでその価値があまり一般に知れ渡りにくく、地味機能なのが悲しいところです。また、CompactやFixupは処理時間がかかるため、ユーザー数が多い場合夜間の時間帯に終わりきらないこともあり、管理者の枕を濡らせる要因のひとつとなっています。いろいろと回避テクニックはありますが、それはまたおいおい話すこととしましょう。

 

新任太郎「無料ブログならではの、出し惜しみですね」

 

今回はこの辺で。ではまた次回。