Advanced Operations Guide (v11)

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

この製品は、オンライン バックアップおよびデータ被害復旧をサポートするための相互に排他的な 2 つの機能を提供します。

状況
... 使用する機能
バックアップ実行中もデータベース アプリケーションを実行し続ける必要がある。
Continuous オペレーション
バックアップを実行するのにエンジンをシャット ダウンすることができる。
アーカイブ ログ

アーカイブ ログを使用すると、最後のバックアップ以降のデータベース オペレーションのログを保存することができます。システム障害が発生した場合、バックアップからデータ ファイルを復元し、ログ ファイルから変更をロールフォワードして、システムをシステム障害発生前の状態に戻すことができます。


注意

アーカイブ ロギングは、アーカイブ ログからの復元後、すべてのデータ ファイルが一貫性のある状態になることを保証しません。速度向上のために、データベース エンジンはログ関数から成功を示すステータス コードが返されるのを待たずに、ログ バッファーを空にします。そのため、ディスク フルやオペレーティング システムの書き込みエラーなどのめったに起こらない状況において、データ ファイルで正常に行われた更新がアーカイブ ログに記録されないことがあります。また、アーカイブ ログではすべてのファイルのログをとる必要がないため、複数のファイルの更新を行うトランザクションがあるとき、そのうち一部のファイルのログしかアーカイブしていない場合は、トランザクションがアーカイブ ログに完全に記録されないことがあります。結果として、あるファイルがほかのファイルと矛盾する可能性があります。トランザクションを使用しており、複数ファイルのトランザクション アトミシティが必要な場合は、トランザクション ログおよびトランザクション一貫性保守を参照してください。


Continuous オペレーションを使用すると、データベース エンジンが実行中でユーザーが接続中でもデータベース ファイルのバックアップを行うことができます。Continuous オペレーションの開始後、データベース エンジンはアクティブなデータ ファイルを閉じ、すべての変更をテンポラリ データ ファイル(デルタ ファイルと呼びます)に格納します。Continuous オペレーションが機能している間に、データ ファイルのバックアップを実行します。バックアップ中にデータ ファイルに対して行われた変更はすべてデルタ ファイルに記録されます。

バックアップが完了したら、Continuous オペレーションを解除します。データベース エンジンはデルタ ファイルを読み込み、元のデータ ファイルにすべての変更を適用します。このデルタ ファイルは、Continuous オペレーション中に多くの変更が行われた場合、元のデータ ファイルのサイズを超えることがあります。

Continuous オペレーションが設定されているデータ ファイルは、リレーショナル インターフェイスからトランザクショナルインターフェイスに至るまで削除が行えません。さらに、このファイルはキーの変更などファイル構造の変更も受け付けません。


メモ

アーカイブ ログおよび Continuous オペレーションは相互に排他的な機能で、同時に使用することはできません。


アーカイブ ログとトランザクション ログの違い

トランザクション ログは、システム障害時のデータの完全性を守るためにデザインされたもう 1 つの機能ですが、アーカイブ ログとは直接関連を持ちません。トランザクション ログは、アーカイブ ログまたは Continuous オペレーションのいずれかと同時に機能させることができます。トランザクション ログは、短期間のログ ファイルを使用して、トランザクションが確実にディスクに書き込まれるようにします。トランザクション ログは、システム トランザクションのために、完了したクライアント トランザクションが物理データ ファイルへ移行するときに、頻繁にリセットされます。システム障害が発生すると、データベース エンジンが再起動されたときにトランザクション ログを読み込み、システム障害より前に完了していたトランザクションをデータ ファイルにいっきに移します。

アーカイブ ログは、各システム トランザクションの完了時に書き込まれるので、システム トランザクション中にシステム障害が起こらない限り、アーカイブ ログおよびトランザクション ログは適切に同期しています。

トランザクション ログの詳細については、トランザクション ログおよびトランザクション一貫性保守を参照してください。

ファイルの復元が必要になったら

バックアップからデータ ファイルを復元する必要のあるシステム障害が発生した場合、アーカイブ ログを使ってバックアップから復元してデータベースの動作状態をシステム障害の時点に回復することができます。

アーカイブ ログを使用せずに同様の障害が起きた場合(たとえば、バックアップの実行に Continuous オペレーションを使用していた場合)、最後のバックアップからシステム障害の間のデータベースの動作を回復することはできません。

表 39 システム障害後のデータ回復の限界
アーカイブ ログ
... 障害後に回復できないデータ
オン
障害時に未完了のトランザクション
オフ
データ ファイルの最後のバックアップ以降に起きたすべてのデータベース オペレーション

この章では、これ以降、アーカイブ ログおよび Continuous オペレーションに関連するオプションと手順について説明します。


トランザクション ログおよびトランザクション一貫性保守

アーカイブ ログの使用