Advanced Operations Guide (v11)

アーカイブ ログの使用

このセクションでは、アーカイブ ログの設定、データ ファイルのバックアップおよび復元を行う方法について説明します。この章は、以下のトピックに分かれています。

全般的な手順

アーカイブ ログが適切に動作するためには、明確に定義された手順に従って設定する必要があり、バックアップからの復元が必要になった場合には別の手順が必要です。


注意

この手順のいずれかの段階が省かれたり、十分でない場合、障害発生前の状態にデータを復元することができません。


アーカイブ ログを適切に使用するには

  1. まだ動作していない場合は、アーカイブ ログをオンにします。設定の詳細についてはアーカイブ ログの設定を参照してください。
  2. データベース エンジンをシャット ダウンします。
  3. データ ファイルをバックアップします。
  4. バックアップに成功したら、既存のアーカイブ ログをすべて削除します。

    注意

    データ ファイルでの作業再開にそれぞれのログ ファイルを削除します。バックアップ データ ファイルとそのログ ファイルが同期していることは、回復作業を成功させるための重要事項です。


  5. データベース エンジンを再起動します。

バックアップからデータ ファイルを復元し、アーカイブ ログの変更を適用するには


メモ

ハード ディスクがクラッシュし、アーカイブ ログおよびデータ ファイルの両方がそのディスク上にあった場合は、この手順でアーカイブ ログをロール フォワードすることはできません。


  1. システム障害後コンピューターを再起動したら、データベース エンジンが実行中でないことを確認し、復元しようとしているデータ ファイルにほかのデータベース エンジンがアクセスしていないことを確認してください。
  2. バックアップからデータ ファイルを復元します。
  3. データベース エンジンを起動し、どのようなアプリケーションもエンジンに接続していないことを確認します。

    注意

    アーカイブ ログがデータ ファイルに適用される前にデータベース アクセスが行われないようにすることは重要です。ほかのデータベース エンジンがファイルにアクセスしていないことを確認してください。システム障害にあったのと同じエンジンを使用してアーカイブ ログをロール フォワードする必要があります。


  4. ロール フォワード コマンドに説明されているロール フォワード コマンドを発行します。
  5. ロール フォワードが正常に完了したら、データベース エンジンを停止し、データ ファイルの新しいバックアップを作成します。
  6. データ ファイルが正常にバックアップできたら、アーカイブ ログ ファイルを削除します。これで、データベース エンジンを再起動し、アプリケーションがデータ ファイルにアクセスできます。

アーカイブ ログの設定

アーカイブ ログの設定には 2 つの段階があります。

アーカイブ ログを有効にするには

  1. オペレーティング システムの[スタート]メニューまたはアプリ画面から Control Center にアクセスします。
  2. Pervasive PSQL エクスプローラーで、ツリーのエンジン ノードを展開します(ノードの左の展開アイコンをクリックします)。
  3. アーカイブ ログを指定するデータベース エンジンを右クリックします。
  4. [プロパティー]をクリックします。
  5. ツリー内で[データ整合性]をクリックし、そのカテゴリに含まれるオプションの設定内容を表示します。
  6. 選択ファイルのアーカイブ ロギング]チェックボックスをクリックします。
  7. OK]をクリックします。
    設定を有効にするにはエンジンの再起動が必要であることを知らせるメッセージが表示されます。
  8. はい]をクリックして、エンジンを再起動します。

アーカイブするファイルを指定するには

アーカイブ ログを実行するファイルは、そのファイルを含むボリュームに作成したアーカイブ ログ設定ファイルに、エントリを追加することによって指定します。設定ファイルは、以下の方法で設定します。

  1. ログを行う対象のデータ ファイルが存在する物理ドライブのルート ディレクトリに、¥BLOG ディレクトリを作成します。(マップされたルート ディレクトリは使用しないでください)。ファイルが複数のボリュームに分かれている場合は、その各ボリュームに ¥BLOG ディレクトリを作成します。
    たとえば、C:¥ および D:¥ にデータ ファイルが存在し、どちらのドライブもデータベースと同じコンピューター上に存在する物理ドライブである場合、次のように 2 つの BLOG ディレクトリを作成します。
    C:¥BLOG¥
    D:¥BLOG¥

    メモ

    Linux では、ログ ディレクトリの名前は blog で、PVSW_ROOT 環境変数で指定したディレクトリ(デフォルトでは /usr/local/psql)に作成する必要があります。


  2. 各 ¥BLOG ディレクトリに、空の BLOG.CFG ファイルを作成します。BLOG.CFG の作成には、メモ帳のような任意のテキスト エディターを使用してください。Linux では、ファイルは blog.cfg(小文字)である必要があります。
  3. 各 BLOG.CFG ファイルに、そのドライブ上にあるアーカイブ ログを実行するデータ ファイルのエントリを入力します。エントリの入力には、以下の形式を使用します。
    ¥パス1¥データ ファイル1[=¥パス2¥ログ ファイル1] 
    

パス1
ログを行う対象のデータ ファイルのパス。パスには、ドライブ名は含めません。
データ ファイル1
ログを行う対象のデータ ファイルの名前。
パス2
ログ ファイルのパス。ログ ファイルとデータ ファイルは、異なるドライブ上に存在する場合があるため、必要に応じてパスにドライブ名を追加します。
ログ ファイル1
ログ ファイルの名前。名前を指定しない場合、デフォルト値はデータ ファイルと同じディレクトリとファイル名ですが、拡張子は ".log" に置き換えられます。ログとデータ ファイルを同じドライブに置かないように、異なる物理ドライブを指定することができます。ログをとるデータ ファイルごとに別々のログ ファイルが必要です。

エントリにはスペースを使用せず、1 行以内に収める必要があります。(各行最大で半角 256 文字)余裕があれば同一行に複数のエントリを置くことができます。エントリはスペースで区切ります。

注意

ログをとるデータ ファイルすべてに異なるログ ファイルを使用する必要があります。2 つ以上のデータ ファイルに同一のログ ファイルを使用すると、MicroKernel はロールフォワードが必要になったときにそのログ ファイルを使用できません。


ログ ファイルの名前を入力しない場合は、ログ ファイルを最初に開いた際に、元のファイル名に拡張子 .LOG を付けたファイル名が割り当てられます。たとえば、ファイル B.BTR では、ログ ファイルに B.LOG が割り当てられます。

注意

データベースのすべてのファイルのログをとる必要はありません。ただし、データベースに参照整合性(RI)規則が指定されている場合は、各 RI の関係に含まれるすべてのファイルのログを指定するかまたは 1 つも指定しないでください。RI の関係に含まれるファイルのサブセットのみのログを指定すると、システム障害後にアーカイブ ログをロール フォワードするとき、RI 規則違反となります。


以下は、ドライブ C 上にある BLOG.CFG のエントリの例です。すべてのエントリは、同じ結果になります。C:¥DATA¥B.BTI の処理は、C:¥DATA¥B.LOG に記録されます。

¥data¥b.bti 
¥data¥b.bti=¥data¥b.log 
¥data¥b.bti=c:¥data¥b.log 

次の例では、C:¥DATA¥B.BTI の処理が、ログ ファイル D:¥DATA¥B.LGF に記録されます。これは、アーカイブ ログ ファイルが、データ ファイルと同じドライブ上に存在する必要がなく、拡張子が「.LOG」である必要もないことを表します(拡張子「.LOG」はデフォルト)。

¥data¥b.bti=d:¥data¥b.lgf 


ヒント

同じコンピューターの異なる物理ドライブにログを書き込むことをお勧めします。ログ ファイルを異なる物理ドライブに置けば、ハード ディスクがクラッシュした場合にデータ ファイルといっしょにログ ファイルも失うことを防げます。


次に、MicroKernel が複数のファイルのログを異なるドライブ(ドライブ D:)に作成するようにする BLOG.CFG の例を示します。BLOG.CFG ファイルはドライブ C: にあるものとします。

¥data¥file1.mkd=d:¥backup¥ 
¥data¥file2.mkd=d:¥backup¥file2.log 
¥data¥file3.mkd=d:¥backup¥file3.log 

ロール フォワード コマンド

Btrieve Maintenance ユーティリティ(GUI またはコマンドラインの BUTIL)は、アーカイブ ログ ファイルをデータ ファイルにロール フォワードするコマンドを提供します。「アーカイブ ログの使用」を参照してください。


アーカイブ ログおよび Continuous オペレーションについて

Continuous オペレーションの使用