トランザクション・ログ・ファイルのファイル・システム領域の使用を確認する

TimesTenは、DataStore属性で指定されているディレクトリに格納されている2つのチェックポイント・ファイルにデータベースのコピーを保存します。各チェックポイント・ファイルはファイル・システム上で大きくなり、共有メモリー内のデータベースのサイズと同等になる可能性があります。各永続データベースについて、2つのチェックポイント・ファイルとトランザクション・ログ・ファイルを保存するための十分なファイル・システム領域が必要です。

トランザクション・ログ・ファイルはLogDir属性で指定されたディレクトリに蓄積され、チェックポイントが実行されたときにのみ削除されます。DSNにLogDir属性が指定されていない場合は、DataStore属性で指定されたディレクトリにトランザクション・ログ・ファイルが蓄積されます。トランザクション・ログ・ファイルの最大サイズは、LogFileSize属性で設定されます。

ファイル・システムがTimesTenデータで一杯になる原因のほとんどは、トランザクション・ログ・ファイルの蓄積です。TimesTenのトランザクション・ログ・ファイルは、トランザクション・ロールバック、バックアップおよびレプリケーションなど様々な用途で使用されます。どの操作がトランザクション・ログ・ファイルを保持するかを特定することが重要であり、これによって、トランザクション・ログ・ファイルを適切にパージできるように適切なアクションをとることができます。これは、ttLogHolds組込みプロシージャを使用して行います。ログの保持には6つのタイプがあります。次の説明を参照してください。

  • 長時間実行のトランザクション - TimesTenでは、トランザクション・ログを使用してトランザクションをロールバックします。トランザクションの存続中はログを保持するように設定されます。長時間アクティブなトランザクションでは、トランザクションがログ・レコードを1つ以上書き込んだ場合(つまり、読取り専用トランザクションではない場合)、ログ・ファイルが蓄積されます。(つまり、読取り専用トランザクションではありません。)このため、書込みトランザクションは適切な頻度でコミットし、大量のログ・ファイルが蓄積されないようにします。トランザクションの長さの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』「トランザクション・サイズの適切な設定」を参照してください。

  • チェックポイント - TimesTenアプリケーションがクラッシュし、データベースをリカバリする必要がある場合、チェックポイント・ファイルとトランザクション・ログ・ファイルを使用してデータをリカバリします。使用されるトランザクション・ログ・ファイルは、チェックポイント処理以降に作成された最新のトランザクション・ログ・ファイルです。トランザクション・ログ・ファイルは、チェックポイントとチェックポイントの間に蓄積されます。チェックポイント処理の頻度が非常に低い場合、特にチェックポイントとチェックポイントの間で多くの変更がデータベースに加えられると、大量のトランザクション・ログ・ファイルが蓄積される可能性があります。『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』「チェックポイント処理」を参照してください。

  • レプリケーション - TimesTenレプリケーションは、あるデータベースから他の1つ以上のデータベースに変更を送信します。これは、トランザクション・ログを読み込み、関連する変更を送信することで行います。レプリケーションを停止すると、トランザクション・ログ・ファイルが蓄積されます。レプリケーションの一時停止、再起動または再設定の詳細は、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』「サブスクライバのレプリケーション状態の設定」を参照してください。

  • バックアップ - TimesTenでは、トランザクション・ログ・ファイルを使用して、最後のバックアップ以降に加えられた変更をバックアップに追加する増分バックアップ機能をサポートします。増分バックアップと増分バックアップの間にトランザクション・ログ・ファイルが蓄積されます。大規模なログが蓄積されないようにするには、増分バックアップを比較的頻繁に実行します。状況に応じて、増分バックアップを無効にし、かわりに完全バックアップを実行します。

    詳細は、『Oracle TimesTen In-Memory Databaseインストレーション、移行およびアップグレード・ガイド』「TimesTen Classicでのデータのバックアップ、リストアおよび移行」を参照してください。

  • XLA - TimesTenの永続的なXLA機能は、トランザクション・ログ・ファイルを使用してデータベースへの変更をレポートします。ttXlaAcknowledge Cファンクションで対応するトランザクションが受け入れられるまで、トランザクション・ログ・ファイルは保持されます。トランザクション・ログ・ファイルが蓄積されないように、頻繁にttXlaAcknowledgeをコールします。『Oracle TimesTen In-Memory Database C開発者ガイド』「トランザクション・ログからの更新レコードの取得」を参照してください。

  • XA - TimesTenのXAサポートは、トランザクション・ログ・ファイルを使用して分散トランザクションを解決します。これらのトランザクションが適時に解決されないと、トランザクション・ログ・ファイルが蓄積されます。『Oracle TimesTen In-Memory Database C開発者ガイド』「分散トランザクション処理: XA」を参照してください。

ファイル・システムの使用には、次の属性が関係します。

  • LogPurge属性は、保持する必要がなくなったトランザクション・ログ・ファイルをパージ(ファイル・システムから削除)するか、または単にアーカイブ(名前を変更)するかを示します。LogPurge属性がデフォルト値の0(ゼロ)に設定されている場合、TimesTenは名前の後ろに文字列.archを付加して、不要になったトランザクション・ログ・ファイルの名前を変更します。名前を変更した後は、不要になったときに手動でトランザクション・ログ・ファイルを削除する必要があります。トランザクション・ログ・ファイルをパージしないと、TimesTenで不要になったときも、トランザクション・ログ・ファイルが蓄積され続けて領域を浪費します。

  • Preallocate属性は、接続時にチェックポイント・ファイル用のファイル・システム領域を確保する必要があるかどうかを示します。これは、大規模なデータベースで、データをデータベースに追加するときに、チェックポイント・ファイルのための空き容量をファイル・システムで常に確保するのに役立ちます。