前へ 目次 DocHome 索引 次へ
iPlanet Trustbase Transaction Manager 2.2.1 設定ガイド



第 10 章   バックアップ


この章では、次の項目について説明します。


バックアップすべきデータ

iPlanet Trustbase Transaction Manager で使用するデータベーステーブルは、次の 2 つのグループに分けられます。

  • 常に読み取り専用のもの (構成情報など)

  • 頻繁に書き込まれる大きなデータを格納するためのもの (原初ログなど)

次の項では、データベース管理者がアーカイブ方法を決定する際に参考にできるよう、各テーブルの機能および構成について説明します。


読み取り専用のデータ

次の各テーブルは、主に読み取り専用の静的データ用に使用されます。これらのテーブルは比較的小さなサイズのまま維持されるため、アーカイブする必要はありません。また、データはすべてオンラインで維持できます。ただし、初期構成を完了した後や、証明書または構成を変更した後には、バックアップおよび障害回復対策としてこれらのテーブルをバックアップしてください。

  • 証明書ストアを構成するテーブル。ストアにアイテムが追加された場合 (まれ) にだけ変更される

    • ATTRIBUTE_KEY_ATTRS
      鍵対に関連する属性を格納する

    • ATTRIBUTE_NAME_ATTRS
      証明書に関連する属性を格納する

    • CERT_TABLE
      X509 証明書を格納する

    • KEY_TABLE
      暗号鍵対を格納する

    • REVOCATION_ATTRS
      証明書破棄リスト (CRL) を格納する

    • REVOCATION_SERIAL_NUM
      証明書破棄リスト内で破棄するよう指定されている証明書のシリアル番号をインデックス化する

    • REVOCATION_TABLE
      エンコードされた X509 証明書破棄リストを格納する

    • SALT_TABLE
      データベース内で使用されるパスワードベース認証用の salt 値を保持する。テーブル内のエントリは 1 つに限られる

  • Identrus

    • CERT_DATA
      Identrus Messaging からの固有な証明書

    • BILL_DATA
      処理済み Identrus Messaging の請求レコード

  • その他のテーブル

    • AUTHORISATION
      役割名をサービス名にマップする

    • CERTIFICATEAUTHENTICATION
      証明書の詳細を役割にマップする

    • CONFIG
      システム用に構成データを格納する。各システム要素はテーブル内の各行に 1 つずつ記述されるため、このテーブルのサイズは新しいシステム要素が追加された場合にだけ増大する

    • ROLES
      役割に関する情報を格納する

    • USERNAMEPASSWORDAUTH
      ユーザ名とパスワードの組み合わせを役割にマップする

  • /opt/Trustbase/TTM/<マシン名> 内の初期化ファイル (*.properties と proxi.ini)

  • nCipher などの HSM を使用する場合は、モジュールキー。nCipher の「Security World」がモジュールキーのバックアップをサポートする。Administrator Card Set の使用方法については、『KeySafe User Guide』を参照


頻繁に書き込まれるデータ用のテーブル

次のテーブルには頻繁にデータが書き込まれるため、テーブルのサイズが急速に増大します。したがって、記憶域の使用容量が限界に近付くにつれ、これらのテーブルのデータをアーカイブする必要があります。また、これらのログには重要な情報が含まれるため、損失しないよう 定期的にバックアップしてください。

  • 頻繁に書き込まれるデータ

    • AUDITDATA
      監視ログデータを格納する

    • ERROR
      エラーログデータを格納する

    • RAW_DATA
      システムに出入りするすべての原初メッセージデータを格納する。否認防止の目的に使用され、後述の INIT_TABLE によって参照される。したがって、これらの 2 つのテーブルをアーカイブする際には、前述の手順に従うことが必要

      SQL> desc raw_data;
      Name Null? Type
      ------------------------------- -------- ----
      SESSIONID NOT NULL NUMBER(38)
      LOGCONNECTIONID NOT NULL NUMBER(38)
      RECORDID NOT NULL NUMBER(38)
      MSGGRPID VARCHAR2(120)
      MSGID VARCHAR2(120)
      DOCTYPE NOT NULL VARCHAR2(120)
      RECORDMARKER NOT NULL VARCHAR2(240)
      CONNECTIONID NOT NULL VARCHAR2(100)
      PROTOCOLTYPE NOT NULL VARCHAR2(10)
      INPUT NOT NULL NUMBER(38)
      TIMESTAMP NOT NULL NUMBER(38)
      RAWDATA NOT NULL LONG
      DIGESTOFRECORD RAW(2000)
      SIGNEDDIGESTOFCALCULATION RAW(2000)

  • INIT_TABLE
    原初ログテーブルの完全性に関する情報を格納する

    SQL> desc init_table;
    Name Null? Type
    ------------------------------- -------- ----
    SESSIONID NOT NULL NUMBER(38)
    TIMESTAMP NOT NULL NUMBER(38)
    N_CONNECTIONS NOT NULL NUMBER(38)
    SIGDATA NOT NULL RAW(2000)
    SERVERCERTISSUERDN VARCHAR2(2000)
    SERVERCERTSERIALNUMBER VARCHAR2(100)


Raw_Data と Init_Table のアーカイブ

ログ init_table と raw_data テーブルは、Identrus 用に連結されています。raw_data レコードには、実際のメッセージデータおよびデジタル形式で署名されたタイムスタンプが保持されます。init_table レコードは、raw_data レコードセットの冒頭部分をポイントします。アーカイブ時の状況には、次の 2 種類があります。

  1. TTM インスタンスが実行中ではない場合。この場合は、raw_data テーブルおよび init_table テーブル内のデータは一般的な方法でアーカイブできます。アーカイブ後のデータを適切に確認できるよう、これら 2 つのテーブルを両方ともアーカイブしてください。システムを再起動すると、init_table 内に新しい初期化レコードが作成され、raw_data 内のエントリがこのレコードから暗号文によってチェーンされます。

  2. TTM インスタンスが実行中である場合。この場合は、原初ログ確認ユーティリティを実行し、ログ終端のリストを提供する必要があります。ユーティリティを実行すると、次のような形式の出力が生成されます。

スクリプトは、次のように実行できます。

$ cd <Trustbaseインストールディレクトリ>/TTM/Scripts
$ ./runcheckintegrity

出力は次のようになります。

Trustbase Raw Log Verification Utility
Checking all sessions
Checked chain 0 from session 4,160 with 82 records, ending at 26/02/01 19:41. Endpoint in chain is 81
Checked chain 1 from session 4,160 with 81 records, ending at 26/02/01 19:41. Endpoint in chain is 80
Checked chain 2 from session 4,160 with 81 records, ending at 26/02/01 19:41. Endpoint in chain is 80
Checked chain 3 from session 4,160 with 75 records, ending at 26/02/01 19:41. Endpoint in chain is 74
Checked chain 4 from session 4,160 with 87 records, ending at 26/02/01 19:41. Endpoint in chain is 86
Checked chain 5 from session 4,160 with 85 records, ending at 26/02/01 19:41. Endpoint in chain is 84
Checked chain 6 from session 4,160 with 81 records, ending at 26/02/01 19:41. Endpoint in chain is 80
Checked chain 7 from session 4,160 with 77 records, ending at 26/02/01 19:41. Endpoint in chain is 76
Checked chain 8 from session 4,160 with 82 records, ending at 26/02/01 19:41. Endpoint in chain is 81
Checked chain 9 from session 4,160 with 79 records, ending at 26/02/01 19:41. Endpoint in chain is 78
Checked session 4,160 with total 810 records over 10 connections. Started at 26/02/01 19:39 Ended at 26/02/01 19:41



スクリプトを実行する前に、tbase.properties 内のエントリ ([LogManager/MessageLoggerStore] と [LogManager/MessageLogger]) を確認する必要があります。データベース接続文字列、ユーザ、パスワード、およびドライバの設定は、このファイルから読み取られます。また、原初ログレコードおよび署名アルゴリズムの署名証明書も、このファイルから読み取られます。



次に、<インストールディレクトリ>/TTM/Scripts/runcheckintegrity スクリプトの例を示します。

. ./setcp
CLASSPATH=$TBASE_INSTALL:$CLASSPATH
cd $TBASE_INSTALL
exec java uk.co.jcp.tbaseimpl.log.raw.tools.VerUtil

各セッションには、それぞれ始端と終端を含むチェーンの集まりが保持されています。この時点で、終端までのデータをすべてアーカイブできます。アーカイブ後に原初ログ確認ユーティリティを実行すると、ユーティリティはアーカイブ後に書き込まれたデータを「親のない」データと見なしますが、ユーティリティによるこれらのデータの確認と報告は実行されます。出力は次のようになります。

$ ./runcheckintegrity

出力は次のようになります。

Trustbase Raw Log Verification Utility
Checking all sessions
No init records were found
Orphan chain from session 4,160, Connection 0, startpoint 10, endpoint 81 is valid
Orphan chain from session 4,160, Connection 1, startpoint 10, endpoint 80 is valid
Orphan chain from session 4,160, Connection 2, startpoint 10, endpoint 80 is valid
Orphan chain from session 4,160, Connection 3, startpoint 10, endpoint 74 is valid
Orphan chain from session 4,160, Connection 4, startpoint 10, endpoint 86 is valid
Orphan chain from session 4,160, Connection 5, startpoint 10, endpoint 84 is valid
Orphan chain from session 4,160, Connection 6, startpoint 10, endpoint 80 is valid
Orphan chain from session 4,160, Connection 7, startpoint 10, endpoint 76 is valid
Orphan chain from session 4,160, Connection 8, startpoint 10, endpoint 81 is valid
Orphan chain from session 4,160, Connection 9, startpoint 10, endpoint 76 is valid
Checked session 4,160 with total 710 records over 10 connections. Started at 26/02/01 19:39 Ended at 26/02/01 19:41

レコード ID は、そのレコードの署名とローカルデータベース内に保持されている署名が一致した場合に有効と見なされます。レコードに記述されている終端と親のないデータの始端が符号する場合、そのログの完全性は維持されていると推定できます。さらに、確認結果のレコード ID が、前回実行した確認結果のレコード ID よりも少なくかつ有効であれば、ログの完全性は維持されていると推定できます。それ以外の場合は、アーカイブが正しく実行されなかったか、またはレコードの一部が何者かによって削除または改ざんされた可能性があるため、アーカイブの完全性を確認し直す必要があります。前述の 1 度目の確認では 810 個のレコードがチェックされ、2 度目の確認では 710 個のレコードがチェックされています。これは、2 度目の確認を行う前に、始端が 10 未満のチェーンに含まれる 100 個のレコードがアーカイブされたことを示しています。

デフォルトでは、ツールは原初ログ内のすべてのレコードの完全性をチェックしますが、次のコマンド行スイッチを使用してセッションを個別にチェックすることも可能です。

-session <セッション ID>

たとえば、次のように入力します。

./runcheckintegrity -session 12344


証明書の有効期限が切れた場合



証明書の有効期限が切れた場合は、新しい完全なトランザクションコーディネータ証明書セットを生成する必要があります。その前に、ログの内容をアーカイブして、ログが複数の証明書セットによって署名されないようにしておくことをお勧めします。これは、通常のバックアップ作業の一部として実行できます。



詳細は、「証明書の管理」を参照してください。新しい証明書を入手する手順は、最初に証明書を入手したときに使用した手順と同じです。




障害回復の方法



ハードウェアやディスクに障害が発生した場合には、回復のための処置を取る必要があります。iPlanet Trustbase Transaction Manager が適切に動作を継続できるよう、次の手順に従ってバックアップからデータを復元してください。

  • nCipher ユーザのみ。『KeySafe User Guide』に従って、Administrator Card Set と nCipher バックアップデータを使用して nCipher の「Security World」を復元します。

  • iPlanet Trustbase Transaction Manager、アプリケーションサーバ、およびデータベースをインストールし直します。

  • /opt/Trustbase/TTM/<マシン名>内の *.properties および proxi.ini を修復します。

  • 『インストールガイド』に記載の SQL スクリプト内で指定されているユーザの下に作成されたテーブルのバックアップから、データベースを復元します。必要に応じてデータベース管理者に問い合わせてください。



    iPlanet Trustbase Transaction Manager のアプリケーションサーバおよびデータベースの設定方法については、「インストールワークシート」の章を参照してください。




前へ 目次 DocHome 索引 次へ
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2001 Netscape Communications Corp. All rights reserved.

最終更新日 2001 年 3 月 14 日