前へ 目次 索引 DocHome 次へ |
iPlanet Calendar Server 管理者ガイド |
第 5 章 Calendar Server データベースの管理
この章では、csdb ユーティリティを使用して Calendar Server データベースとカレンダーデータを管理する方法について説明します。
ターゲットデータベースの指定
csdb ユーティリティを実行するには、Calendar Server が稼動しているシステムに対して管理権限を持つユーザとしてログインする必要があります。詳細については、第 7 章「Calendar Server コマンド行 ユーティリティ」を参照してください。カレンダーデータベースのバックアップと復元については、第 6 章「Calendar Server データのバックアップと復元」を参照してください。
ターゲットデータベースの指定
csdb ユーティリティの -t オプションによって、ターゲットデータベースを指定できます。-t オプションが指定されていない場合は、 csdb はcheck と rebuild コマンドの時をのぞいて、すべてのデータベースに対して処理を行います。check コマンドと rebuild コマンドの処理対象は、カレンダーデータベースだけです。
表 5-1は、カレンダーデータベース (caldb) の各種ファイルについて説明しています。
表 5-1    カレンダーデータベースファイル
ファイル
説明
すべてのカレンダーのカレンダープロパティ。カレンダー ID (calid)、カレンダー名、アクセス制御リスト (ACL)、所有者など
カレンダーデータベースステータスの表示
カレンダーデータベースのステータスを表示するには、csdb ユーティリティの list コマンドを使用します。Calendar Server は、稼動していても停止していてもどちらでもかまいません。-t オプションを使用して、ターゲットデータベース (caldb、sessdb、またはstatdb) を指定します。-t オプションを指定しなかった場合、csdb は 3 個のデータベースすべてに対して操作を行います。
たとえば、すべてのデータベースのステータスと統計を表示するには、次のコマンドを入力します。
現在のディレクトリに入っているカレンダーデータベースに関する情報を冗長モードで表示するには、次のコマンドを入力します。
カレンダーデータベースの削除
カレンダーデータベースを削除するには、csdb ユーティリティの delete コマンドを使用します。Calendar Server を停止する必要があります。-t オプションを使用して、ターゲットデータベース (caldb、sessdb、またはstatdb) を指定します。-t オプションを指定しなかった場合、csdb は 3 個のデータベースすべてを削除します。
たとえば、カレンダーデータベースを削除するには、次のコマンドを入力します。
csdb ユーティリティは、データベースを削除する前に警告メッセージを出力します。
カレンダーデータのインポートとエクスポート
ファイルとの間でカレンダーデータのエクスポートとインポートを行うには、csexport ユーティリティと csimport ユーティリティを使用します。カレンダーデータの形式は、iCalendar (.ics) と XML (.xml) のどちらでもかまいません。csexport と csimport は、Calendar Server がインストールされているマシン上でローカルに実行する必要があります。Calendar Server は、稼動していても停止していてもどちらでもかまいません。
カレンダーデータのエクスポート
カレンダーデータをファイルにエクスポートするには、csexport を使用します。出力ファイルに対して指定するファイル名拡張子 (.ics または .xml) によって、使用する形式が決まります。たとえば、JSmithcal というカレンダー ID (calid) を持つカレンダーを、 jsmith.ics という名前のファイルに iCalendar (テキスト/カレンダー MIME) 形式でエクスポートするには、次のコマンドを入力します。
csexport -c JSmithcal calendar jsmith.ics
カレンダー JSmithcal を、jsmith.xml という名前のファイルに XML (テキスト/xml MIME) 形式でエクスポートするには、次のコマンドを入力します。
csexport -c JSmithcal calendar jsmith.xml
カレンダーデータのインポート
csexport ユーティリティを使用して以前に保存したカレンダーデータをファイルからインポートするには、csimport を使用します。インポートファイルのファイル名拡張子 (.ics または .xml) は、保存時の形式を示します。たとえば、iCalendar (テキスト/カレンダー MIME) 形式で保存されたカレンダーデータを、ファイル jsmith.ics から JSmithcal というカレンダー ID (calid) を持つカレンダーにインポートするには、次のコマンドを入力します。
csimport -c JSmithcal calendar jsmith.ics
XML (テキスト/xml MIME) 形式で保存されたデータを、jsmith.xml というファイルからカレンダー JSmithcal にインポートするには、次のコマンドを入力します。
csimport -c JSmithcal calendar jsmith.xml
指定したカレンダー ID (calid) がすでに存在する場合、そのデータは新しいデータをインポートする前にクリアされます。
破損したデータベースの回復
破損したセッションデータベースや統計データベースを回復するには、csdb ユーティリティの recover コマンドを使用します。-t オプションを使用してターゲットデータベースとなる sessdb (セッション) または statdb (統計) を指定します。recover コマンドを実行する前に、stop-cal コマンドを使用して Calendar Server を停止します。
たとえば、現在のディレクトリ内の破損したセッションデータベースを回復するには、次のコマンドを入力します。
注 破損したカレンダーデータベース (caldb) を回復するには、csdb ユーティリティの recover コマンドではなく、check コマンドと rebuild コマンドを使用します。 詳細については、「カレンダーデータベースのチェックと再構築」 を参照してください。
カレンダーデータベースのチェックと再構築
csdb ユーティリティには、次カレンダーデータベース (caldb) をチェックし、必要であれば再構築を行うコマンドが用意されています。
check コマンドは、カレンダーデータベースをスキャンして破壊が発生したかどうかを調べ、結果をその出力にレポートします (check コマンドは、アラームや グループスケジューリングエンジン (GSE) データベースの破壊についてはチェックしません)。
csdb ユーティリティにも、破損したセッションデータベースや統計データベースを回復するための recover コマンドが用意されています。カレンダーデータベースが破壊している場合は、recover コマンドではなく check コマンドと rebuild コマンドを使用します。rebuild コマンドもカレンダーデータベースをスキャンして破壊が発生したかどうかを調べ、必要であれば再構築したカレンダーデータベース (.db ファイル) を生成します。
これらのコマンドを使用する前に、csbackup ユーティリティ (または他のバックアップユーティリティ) を使用してカレンダーデータベースのバックアップを作成しておきます。
カレンダーデータベースの破壊状態のチェック
check コマンドはカレンダーデータベースをスキャンし、カレンダープロパティ (calprop) のイベントと予定 (todo) が破壊していないかどうかをチェックします。修理不能な非整合性を check コマンドが見つけた場合には、その状況がスキャン結果にレポートされます。check コマンドを定期的に実行し、カレンダーデータベースに非整合性がないかどうかをチェックしてください。たとえば、データベースをバックアップするたびに check を実行するとよいかもしれません。ただし、カレンダーデータベースが破壊していることがわかっている場合には、 check コマンドを実行する必要はありません。チェック処理は省略し、破壊したデータベースの再構築を行なってください。
カレンダーデータベースが破壊しているかどうかをチェックする手順は、次のとおりです。
Calendar Server がインストールされているシステムに対して管理権限を持つユーザとしてログインします。
Calendar Server が稼動中であっても停止していてもどちらでもかまいませんが、可能であれば Calendar Server を停止します。
カレンダーデータベースのコピーをまだ作成していない場合には、ここでコピーを作成します。コピーするのは、6 個のデータベース (.db) ファイルだけです。共有ファイル (*.share) やログファイル (log.*) をコピーする必要はありません。
server-root/cal/bin ディレクトリに移動します。たとえば、Solaris の場合は次のコマンドを入力します。
カレンダーデータベースのコピーに対し、check コマンドを実行します。
- cd /opt/SUNWics5/cal/bin
check が終了したら、出力ファイルの内容を確認します。データベースが破壊している場合は、rebuild コマンドを実行します。
- ./csdb check dbdir > /tmp/check.out 2>&1
- dbdir が指定されていない場合、check コマンドは ics.conf ファイルに指定されているデータベースを使用します。
- check コマンドは大量の情報を出力する可能性があるので、stdout と stderr を含むすべての出力をファイルにリダイレクトするとよいかもしれません (上記の例を参照)。
破壊したカレンダーデータベースの再構築
rebuild コマンドはカレンダーデータベースをスキャンし、カレンダープロパティ (calprop) のイベントと予定 (todo) が破壊していないかどうかをチェックします。非整合性が見つかった場合、rebuild コマンドは、再構築したカレンダーデータベース (.db ファイル)を server-root/cal/bin/rebuild_db/ ディレクトリに生成します。
注 rebuild コマンドは、グループスケジューリングエンジン (GSE) データベースを除くすべてのデータベースを再構築します。GSE データベースにエントリが存在するかどうかを調べるには、csschedule -v list コマンドを実行し、GSE がエントリの処理を終了してから rebuild コマンドを実行します。
破壊したカレンダーデータベースを再構築する手順は、次のとおりです。
Calendar Server がインストールされているシステムに対して管理権限を持つユーザとしてログインします。
カレンダーデータベースのコピーをまだ作成していない場合には、ここでコピーを作成します。コピーするのは、6 個のデータベース (.db) ファイルだけです。共有ファイル (*.share) やログファイル (log.*) をコピーする必要はありません。
server-root/cal/bin ディレクトリに移動します。たとえば、Solaris の場合は次のコマンドを入力します。
カレンダーデータベースのコピーに対し、rebuild コマンドを実行します。
- cd /opt/SUNWics5/cal/bin
rebuild が終了したら、rebuild.out ファイルの内容を確認します。再構築が成功した場合、rebuild.out ファイルの最後の行は次のようになっているはずです。
- ./csdb rebuild dbdir > /tmp/rebuild.out 2>&1
- ディレクトリが指定されていない場合、rebuild コマンドは ics.conf ファイルに指定されているデータベースを使用します。
- rebuild コマンドは大量の情報を出力する可能性があるので、stdout と stderr を含むすべての出力をファイルにリダイレクトするとよいかもしれません (上記の例を参照)。
上記の手順で再構築が成功したことを確認したら、再構築したデータベース (.db) ファイルを server-root/cal/bin/rebuild_db/ ディレクトリから運用しているデータベースにコピーします。
- Calendar database has been rebuilt
破壊したデータベースに入っていた共有ファイル (*.share) やログファイル (log.*) が残っている場合には、削除するか別のディレクトリに移動します。
前へ 目次 索引 DocHome 次へ
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.
最終更新日: 2002 年 1 月 22 日