メインコンテンツまでスキップ
バージョン: 18

ログファイル (.journal)

継続的に使用されるデータベースでは、変更の記録およびレコードの追加や削除が常におこなわれています。 定期的にデータをバックアップすることは重要ですが、バックアップだけでは (予期しない障害の場合に)、前回のバックアップ以降に入力されたデータを回復することができません。 この必要性に対応するため、4D は専用ツールであるログファイルを提供しています。 このファイルを使用すると、データベースデータのセキュリティが常に保証されます。

また、4D は常にメモリー上のデータキャッシュを使用して作業をおこなっています。 データベースのデータへの変更はすべて、ハードディスクへ書き込む前に、キャッシュへ一時的に保存されます。 これにより、アプリケーションの処理速度が向上します。実際、メモリーへのアクセスは、ハードディスクへのアクセスよりも高速です。 キャッシュに保存したデータをディスクへ書き込む前に障害が発生した場合は、カレントログファイルを組み込んでデータベースを完全に復旧しなくてはなりません。

さらに 4D には、カレントログファイルの内容を解析する機能が組み込まれており、これによってデータベースのデータ上で実行されたすべての処理をさかのぼることができます。 これらの機能は MSC にて提供されています (ログ解析 ページおよび ロールバック ページ参照)。

ログファイルについて

4D が生成するログファイルには、データベース上でおこなわれた操作がすべて順次記録されています。 デフォルトでは、すべてのテーブルのデータログが取られています (つまりログファイルに含まれています)。しかし、ログファイルに含める のプロパティを選択解除することによって特定のテーブルをログに含めないようにすることもできます。

したがって、ユーザーが実行した各操作により、2つのアクションが同時におこなわれます。1つは、データベースに対するアクション (命令を通常どおりに実行)、もう1つはログファイルに対するアクション (処理の説明を記録) です。 ログファイルは個別に作成され、ユーザーの作業を妨げたり作業速度を低下させることはありません。 1つのデータベースでは、一度に 1つのログファイルのみを扱えます。 ログファイルには、次の操作が記録されます:

  • データファイルの開閉
  • プロセス (コンテキスト) の開閉
  • レコードまたは BLOB の追加
  • レコードの変更
  • レコードの削除
  • トランザクションの作成や終了

これらのアクションについての詳細は、MSC の ログ解析 ページを参照ください。

ログファイルは 4D により管理されます。 ログファイルは、データファイルに影響を与えるすべての操作を区別なく盛り込み、ユーザーがおこなった操作や 4Dメソッド、SQLエンジン、プラグイン、Webブラウザーやモバイルアプリなどによる処理など、あらゆる操作を記録します。

ログファイルの機能をまとめた図を次に示します:

カレントログファイルはカレントデータファイルと一緒に自動保存されます。 このメカニズムには、2つの際立った利点があります:

  • ログファイルが保存されるディスクの容量が一杯にならないようにします。 バックアップを実行しない場合、ログファイルは使用するにつれて徐々に大きくなり、 いずれはディスクの空き容量をすべて使い果たしてしまいます。 データファイルをバックアップするたびに、4D や 4D Server はカレントログファイルをクローズし、その直後に空ファイルを新たに開くため、ディスクフルになる危険を避けることができます。 この後、古いログファイルはアーカイブに保存され、バックアップのセット (世代) を管理するメカニズムに従って最終的には破棄されます。
  • 後からデータベースの解析や修復をおこなえるように、各バックアップに対応するログファイルを保管します。 ログファイルの統合は、それが対応するデータベースからのみ実行できます。 バックアップに正しくログファイルを統合するため、バックアップとアーカイブ化されたログファイルは一緒に保管することが重要です。

ログファイルの作成

デフォルトでは、4D で作成されたすべてのデータベースでログファイルが使用されます (環境設定の 一般 ページ内でチェックされているオプションです)。 ログファイルには data.journal のように名前が付けられ、Data フォルダー内に置かれます。

データベースでログファイルが使用されているかどうかは、いつでも調べることができます。これには、データベース設定の バックアップ/設定 ページで ログを使用 オプションが選択されているか確認します。 このオプションの選択が解除されていた場合、またはログファイルなしでデータベースを使用している場合で、ログファイルを用いたバックアップ方法を導入するには、ログファイルを作成する必要があります。

ログファイルを作成するには、次の手順に従ってください:

  1. データベース設定の バックアップ/設定 ページで、ログを使用 オプションを選択します。 標準の "ファイルを開く/新規作成" ダイアログボックスが表示されます。 ログファイルにはデフォルトで data.journal という名前が付けられます。

  2. デフォルトの名前を使用するか、またはその名前を変更し、次にファイルの保管場所を選択します。 2つ以上のハードドライブが存在する場合は、データベースが保管されているディスク以外の場所にログファイルを保存することをお勧めします。 これにより、データベースが保管されているハードドライブが破損した場合でも、ログファイルを呼び出すことができます。

  3. 保存 をクリックします。 開いたログファイルのアクセスパスと名前がダイアログボックスの ログを使用 エリアに表示されます。 このエリアをクリックすると、ポップアップメニューが表示され、ディスク上のフォルダーを確認できます。

  4. データベース設定ダイアログボックスを確定します。

ログファイルを作成するには、データベースが次の条件のいずれかを満たしていなくてはなりません:

  • データファイルが空である。
  • データベースのバックアップを実行した直後であり、データへの変更がまだおこなわれていない。

いずれの条件も満たしていない場合は、バックアップを実行する必要がある旨を知らせる警告ダイアログボックスが表示されます。 OK をクリックするとバックアップが開始され、その後にログファイルが作成されます。 キャンセル をクリックすると、ログファイル作成の要求は保存され、次回データベースをバックアップする時までログファイルの作成は延期されます。 このような安全対策が不可欠な理由は、障害の発生後にデータベースを復元するため、ログファイルへ記録された処理を統合するデータベースのコピーが必要となるからです。

これ以外に何もおこなわなくても、データ上で実行されたすべての処理がこのファイルに記録され、その後データベースを開いたときにこのファイルが使用されます。

新規データファイルを作成したら、別のログファイルを作成しなくてはなりません。 また、ログファイルに関連付けられていない (あるいはログファイルが見つからない) 別のデータファイルを開いた場合、他のログファイルを設定するか、作成しなくてはなりません。

ログファイルを中止する

カレントログファイルへの操作記録を中止したい場合は、データベース設定の バックアップ/設定 ページの ログを使用 オプションを選択解除します。

すると、4D は警告メッセージを表示して、この動作によりログファイルによるセキュリティが利用できなくなることを知らせます:

停止 をクリックすると、カレントログファイルが即座にクローズされます (この後にデータベース設定ダイアログボックスを確定する必要はありません)。

カレントログファイルが大きすぎるため、それをクローズしたい場合は、データファイルのバックアップを実行してください。これにより、ログファイルのバックアップが作成されます。

4D Server: New log file コマンドはカレントログファイルを自動的に閉じて、新しいログファイルを開始します。 実行中に何らかの理由でログファイルが利用不能になった場合、エラー 1274 が生成され、4D Server は一切のデータ書き込みを許可しなくなります。 再びログファイルが利用可能になったらフルバックアップを実行しなければなりません。