"14.10.4 復旧作業"で復旧できなかった場合は、システムイベントログ(to.logファイル)からエラー原因を調べて対処する必要があります。
システムイベントログ(to.logファイル)のリカバリに関するメッセージは、すべてメッセージ番号(047056)に続いて"RECOVERY:"が出力されます。
#tostart# ERROR 2000-01-04 09:53.24 pid:24774/1 60c6/1 128 |
データベース修復エラーの原因には、大きく分けて以下の2種類があります。
環境の問題によるエラー(OSエラー)
システムイベントログ(to.logファイル)の中に"OS:~"の記述が含まれます。"(try ‘fix’ mode)"の記述も含まれることがあります。
データベース破壊によるエラー
システムイベントログ(to.logファイル)の中に"(try ‘fix’ mode)"の記述が含まれます。"OS:~"の記述は含まれません。
エラー原因ごとの復旧方法を以下に説明します。
データベースの修復処理が外部要因によってエラーとなった場合は、メッセージ中に"OS:~"が出力されます。主な"OS:~"のエラー内容と対処方法を、以下に示します。
対処方法に従って、OSエラーの原因を取り除いたあと、再度[to recover]コマンドを実行します。[to recover]コマンドが正常終了したあとに、[to start]コマンドでTeamWARE Officeサーバを起動します。
注意
システムの種別により、"OS:"に続く文字は日本語で出力されます。
OS:No space left on device
#tostart# ERROR 2000-01-04 09:53.22 pid:24774/1 60c6/1 128 047056 RECOVERY: RCPHASE2:OBJIX_FASTINIT_MODIFY 4.28.0 OS:No space left on device |
データベースの修復処理を行うために必要な作業用ファイルが、ディスクの空き容量不足により作成できませんでした。
以下のディレクトリが存在するディスクの空きを確認します。
空き容量を確保してから、再度データベースの修復処理を行います。
to.iniファイルの[TO]セクションに"recovery_tmp_dir"パラメータが指定されている場合
"recovery_tmp_dir"パラメータで指定されているディレクトリ
to.iniファイルの[TO]セクションに"recovery_tmp_dir"パラメータが指定されていない場合
TeamWARE Officeのインストールディレクトリ配下のtmpディレクトリ
OS:Sharing violation
#tostart# ERROR 2000-04-19 00:11.38 pid:9354/1 248a/1 128 047056 RECOVERY: RCSTREAD: opening of the database failed 4.10001.0 OS:Sharing violation |
他プロセスのために、データベースの修復処理に必要なファイルがアクセスできません。
システムを再起動して、再度データベースの修復処理を行います。
OS:No such file or directory
#tostart# ERROR 2000-04-19 00:07.25 pid:8893/1 22bd/1 128 047056 RECOVERY: recovery_phase1_scan, j=1, file=/twdb/dir/100stn.d01 4.2.0 OS:No such file or directory |
データベースの修復に必要なファイルがありません。実際に存在しないか、他プロセスにより必要なファイルにアクセスできません。これは、OSの異常やハードエラーで発生することがあります。
サービスごとに以下の必要なファイルがデータファイル用データベースディレクトリ配下に存在するか確認します。
サービス種別 | Library | Forum | Calendar | Directory | Task | |
---|---|---|---|---|---|---|
必要なファイル | 96stn.d01 | 97stn.d01 | 98stn.d01 | 99stn.d01 | 100stn.d01 | 126stn.d01 |
正常時は、サービスごとにxxxstn.hda、xxxstn.hdbの2つのファイルが存在しますが、どちらか片方が存在すれば復旧できます。
データファイル用データベースは、サービスごとにあるxxxstn.d01およびxxxstn.d02の2つのファイルです。ただし、大規模なシステムにおいては、xxxstn.d03, xxxstn.d04、・・・のように3ファイル以上存在する場合があります。以降の説明ではxxxstn.d02までの説明となっていますが、xxxstn.d03以降のファイルでエラーとなる場合もあります。
上記ファイルがすべて存在している場合は、"b OS: Sharing violation"と同じ対処を行います。上記ファイルが存在していない場合は、定期的に採取しているバックアップからリストアする必要があります。バックアップからのリストアについては、"14.10.6 バックアップからリストア"を参照してください。
サーバの電源断やハードエラーが発生すると、データベースが破壊されることがあります。この場合は、データベースの修復処理を実行してもエラーとなり、サーバの起動ができません。このとき、システムイベントログ(to.logファイル)にはデータベースの修復処理時に、以下のようなメッセージ(try ‘fix’ mode)が出力されます。
#tostart# ERROR 2000-01-20 10:39.29 pid:202/196 ca/c4 128 |
"(try ‘fix’ mode)"が出力された場合、通常は、[to fix]コマンドで復旧(サーバ起動)できます。ただし、以下に示す注意事項があります。
[to fix]コマンドで復旧する必要があるかどうかの確認をします。
"(try ‘fix’ mode)" は、以下のどちらかの場合に出力されます。
データファイル用データベース(xxxstn.d01またはxxxstn.d02)の一部が破壊された場合
データベースの修復処理時に何らかのエラーを検出した場合
[to fix]コマンドで復旧する必要があるのは、"1. データファイル用データベース(xxxstn.d01またはxxxstn.d02)の一部が破壊された場合"のみです。なお、"xxx"は、サービス種別を示し、以下の数字が入ります。
96:ライブラリ
97:メール
98:フォーラム
99:カレンダー
100:ディレクトリ
126:タスク
"2. データベースの修復処理時に何らかのエラーを検出した場合"は、システムイベントログ(to.logファイル)の中に"OS:~"の情報が出力されます。そのため、システムイベントログ(to.log)ファイルの中に"OS:~"があるかどうかで、[to fix]コマンドで復旧する必要があるかどうかを判断できます。この場合は、[to fix]コマンドでの復旧はできません。
"1. データファイル用データベース(xxxstn.d01またはxxxstn.d02)の一部が破壊された場合"のシステムイベントログ(to.log)への出力例を、以下に示します。この例を見ると、"OS:~"の情報はなく、データファイル用データベース名(xxxstn.d01やxxxstn.d02)が出力されているのがわかります。
[to fix]コマンドは、データベースの修復処理で検出されたデータファイル用データベースの不当個所を削除して、データベースの修復処理を行うコマンドです。このコマンドで削除されたデータが必要な(重要な)データの場合、その後の動作に不具合を起こす可能性があります。
そのため、直前に正常なときのバックアップを採取していた場合は、[to fix]コマンドを実行せずにバックアップから復旧してください。
バックアップが古いなどの理由で、やむを得ず現在の環境から復旧を試みる場合は、以下の手順で作業を行ってください。
[to fix]コマンド実行中の異常に備えて、現時点のTeamWARE Office全体のバックアップを採取します。
[to fix]コマンドを実行します。
[to fix]コマンドが正常終了したら、[to start]コマンドでTeamWARE Officeサーバを起動します。
to fix <directory|mail|library|forum|calendar|task|all>
例:Mailデータベースの修復
>to fix mail |
ポイント
[to fix]コマンドは、データベースの修復処理で検出されたデータファイル用データベースの不当データを削除する以外は、[to recover]コマンドと同じ動作をします。そのため、他の要因でデータベースの修復処理に失敗する場合は、その要因が取り除かれないうちに[to fix]コマンドを実行してもエラーとなります。
[to fix]コマンドが出力するメッセージについては、"E.4 [to recover]コマンドメッセージ"を参照してください。