ページの先頭行へ戻る
 Teamware Collaboration Suite V2.0グループウェア機能管理者ガイド

14.10.5 拡張復旧作業

"14.10.4 復旧作業"で復旧できなかった場合は、システムイベントログ(to.logファイル)からエラー原因を調べて対処する必要があります。

ディレクトリサーバ、アプリケーションサーバ共に、ここで説明する手順で復旧作業を行います。

エラー原因の種別

システムイベントログ(to.logファイル)のリカバリに関するメッセージは、すべてメッセージ番号(047056)に続いて"RECOVERY:"が出力されます。

#tostart# ERROR 2000-01-04 09:53.24 pid:24774/1 60c6/1 128
047056 RECOVERY:

データベース修復エラーの原因には、大きく分けて以下の2種類があります。

エラー原因ごとの復旧方法を以下に説明します。

OSエラーの場合の復旧方法

データベースの修復処理が外部要因によってエラーとなった場合は、メッセージ中に"OS:~"が出力されます。主な"OS:~"のエラー内容と対処方法を、以下に示します。

対処方法に従って、OSエラーの原因を取り除いたあと、再度[to recover]コマンドを実行します。[to recover]コマンドが正常終了したあとに、[to start]コマンドでTeamWARE Officeサーバを起動します。

  1. OS:ディスクに十分な空き領域がありません。

    #tostart# ERROR 2011-04-25 12:06.14 pid:1724/1096 6bc/448 128
    047056 RECOVERY: phase1 failed
    DB: 4.112.0 OS:ディスクに十分な空き領域がありません
    [エラー内容]

    データベースの修復処理を行うために必要な作業用ファイルが、ディスクの空き容量不足により作成できませんでした。

    [対処方法]

    以下のディレクトリが存在するディスクの空きを確認します。
    空き容量を確保してから、再度データベースの修復処理を行います。

    • to.iniファイルの[TO]セクションに"recovery_tmp_dir"パラメータが指定されている場合
      "recovery_tmp_dir"パラメータで指定されているディレクトリ

    • to.iniファイルの[TO]セクションに"recovery_tmp_dir"パラメータが指定されていない場合
      TeamWARE Officeのインストールディレクトリ配下のtmpディレクトリ

  2. OS:プロセスはファイルにアクセスできません。別のプロセスが使用中です。

    #tostart# ERROR 2011-04-25 12:09.25 pid:2572/2668 a0c/a6c 128
    047056 RECOVERY: phase1 failed
    DB: 4.32.0 OS:プロセスはファイルにアクセスできません。別のプロセスが使用中です。
    [エラー内容]

    他プロセスのために、データベースの修復処理に必要なファイルがアクセスできません。

    [対処方法]

    システムを再起動して、再度データベースの修復処理を行います。

  3. OS:指定されたファイルが見つかりません。

    #tostart# ERROR 2011-04-25 12:11.09 pid:3848/3976 f08/f88 128
    047056 RECOVERY: Reading of file header failed
    DB: 4.2.0 OS:指定されたファイルが見つかりません。
    [エラー内容]

    データベースの修復に必要なファイルがありません。実際に存在しないか、他プロセスにより必要なファイルにアクセスできません。これは、OSの異常やハードエラーで発生することがあります。

    [対処方法]

    サービスごとに以下の必要なファイルがデータファイル用データベースディレクトリ配下に存在するか確認します。

    サービス種別

    Library

    Mail

    Forum

    Calendar

    Directory

    Task

    必要なファイル

    96stn.d01
    96stn.d02
    96stn.hda
    96stn.hdb

    97stn.d01
    97stn.d02
    97stn.hda
    97stn.hdb

    98stn.d01
    98stn.d02
    98stn.hda
    98stn.hdb

    99stn.d01
    99stn.d02
    99stn.hda
    99stn.hdb

    100stn.d01
    100stn.d02
    100stn.hda
    100stn.hdb

    126stn.d01
    126stn.d02
    126stn.hda
    126stn.hdb

    • 正常時は、サービスごとに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
047056 RECOVERY: RCSTREAD:main:error_end
4.-163.0 DB:(objst)Cannot be corrected with recovery (try 'fix' mode)

"(try ‘fix’ mode)"が出力された場合、通常は、[to fix]コマンドで復旧(サーバ起動)できます。ただし、以下に示す注意事項があります。

[to fix]コマンドが必要かどうかの確認

[to fix]コマンドで復旧する必要があるかどうかの確認をします。

"(try ‘fix’ mode)" は、以下のどちらかの場合に出力されます。

  1. データファイル用データベース(xxxstn.d01またはxxxstn.d02)の一部が破壊された場合

  2. データベースの修復処理時に何らかのエラーを検出した場合

[to fix]コマンドで復旧する必要があるのは、"1. データファイル用データベース(xxxstn.d01またはxxxstn.d02)の一部が破壊された場合"のみです。なお、"xxx"は、サービス種別を示し、以下の数字が入ります。

"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]コマンドを実行せずにバックアップから復旧してください。

バックアップが古いなどの理由で、やむを得ず現在の環境から復旧を試みる場合は、以下の手順で作業を行ってください。

  1. [to fix]コマンド実行中の異常に備えて、現時点のTeamWARE Office全体のバックアップを採取します。

  2. [to fix]コマンドを実行します。

  3. [to fix]コマンドが正常終了したら、[to start]コマンドでTeamWARE Officeサーバを起動します。

入力形式
to fix <directory|mail|library|forum|calendar|task|all>

例:Mailデータベースの修復

C:\teamware\server>to fix mail
・・・
Ready.

ポイント

  • [to fix]コマンドは、データベースの修復処理で検出されたデータファイル用データベースの不当データを削除する以外は、[to recover]コマンドと同じ動作をします。そのため、他の要因でデータベースの修復処理に失敗する場合は、その要因が取り除かれないうちに[to fix]コマンドを実行してもエラーとなります。

  • [to fix]コマンドが出力するメッセージについては、"E.4 [to recover]コマンドメッセージ"を参照してください。