Sun Java System Calendar Server 6.3 管理ガイド

18.3 削除ログデータベースの破棄

ここでは、削除ログデータベースを破棄する方法について説明します。Calendar Server では、削除ログデータベースを破棄する方法として、自動と手動の 2 つが用意されています。

ここでは、次の内容について説明します。

18.3.1 削除ログの破棄の調整

削除ログデータベースを破棄する前に、サービスを受けるエンドユーザーに十分注意する必要があります。エンドユーザーが Communications Express を使用している場合、デフォルトのパラメータ設定で十分です。しかし、予定と作業のローカルコピーを格納した、Connector for Microsoft Outlook や Sync Tool などのクライアントユーザーインタフェースを使用している場合は、自動破棄構成パラメータの設定をそれぞれの必要に応じて調整する必要があります。一般に、30 日間またはそれ以上のエントリを削除ログに格納しておく必要があります。このため、削除ログのサイズが非常に大きくなります。この調整を行わないと、データベースに問題が生じることがあります。破棄間隔も、ユーザーの必要に合わせて調整してください。たとえば、データを破棄できるようになるまで 30 日間削除ログデータベースに格納しておく場合、1 分ごとに破棄を実行しても無駄になる可能性があります。しかしどんなものでも日々古くなっていくので、毎日の破棄は妥当なことです。

同様の問題は、手動で cspurge を実行する場合にも起きる可能性があります。削除ログから削除しすぎると、Connector for Microsoft Outlook および Sync Tool のユーザーがサーバーデータベースと同期できなくなることがあります。

削除ログデータベースを破棄するまでかなりの時間が経過した場合、ファイルが非常に大きくなる原因になります。この場合、巨大な破棄が行われたときに、日常のトランザクションログが非常に大きくなります。なぜなら、各項目を破棄するというトランザクションは、トランザクションログに記録されてからアーカイブおよびホットバックアップにアーカイブされるからです。トランザクションログがこのように大きくなった場合、システムに問題があると疑われ、何が起きたかを把握するために多くの時間が費やされてしまいます。

18.3.2 削除ログデータベースの自動破棄

削除ログデータベースのエントリを指定した間隔で Calendar Server に自動破棄させることができます。自動破棄はデフォルトで無効になっています。

ics.conf の次のパラメータにより自動破棄機能が制御されます。

表 18–1 削除ログデータベースの自動破棄に適用される構成パラメータ

パラメータ 

説明 

service.admin.purge.deletelog

削除ログデータベース (ics50deletelog.db) エントリの自動破棄を有効化 (yes) または無効化 (no) します。

デフォルトは "no" です。

caldb.berkeleydb.purge.deletelog.interval

削除ログデータベース (ics50deletelog.db) のエントリを自動的に破棄する間隔を秒単位で指定します。

デフォルトは 60 秒です。

caldb.berkeleydb.purge.deletelog.beforetime

削除ログデータベース (ics50deletelog.db) から自動的に破棄するエントリの存続時間を秒単位で指定します。

デフォルトは 518400 秒 (6 日) です。

たとえば、5 分 (600 秒) おきに、2 日 (172800 秒) を経過した削除ログデータベースのエントリを Calendar Server に自動破棄させるには、「18.3.2 削除ログデータベースの自動破棄」のパラメータを次のように設定します。

service.admin.purge.deletelog="yes"
 caldb.berkeleydb.purge.deletelog.interval=600
 caldb.berkeleydb.purge.deletelog.beforetime=172800

パラメータの設定が完了したら、新しい値が適用されるように Calendar Server を再起動します。

18.3.3 削除ログデータベースの手動破棄

cspurge ユーティリティーを使用して、削除ログデータベース (ics50deletelog.db) のエントリを手動で破棄することもできます。

このユーティリティーの使用方法は次のとおりです。

cspurge -e endtime -s starttime

endtimestarttime の変数は、対象範囲の開始と終了を世界標準時形式 (GMT または UTC とも呼ばれる) で指定します。

cspurge を実行するには、Calendar Server を稼動しているユーザーとグループ (デフォルトでは icsusericsgroup )、またはスーパーユーザー (root) としてログインする必要があります。

たとえば、2003 年 7 月 1 日から 2003 年 7 月 31 日までのエントリを破棄するには、次のように実行します。

cspurge -e 20030731T235959Z -s 20030701T120000Z

詳細は、「D.13 cspurgeを参照してください。