WAL(Write Ahead Logging)は、ログに基づくファイル システム回復スキーマで、このスキーマでは、永久データへの変更は、ログ ファイル(WALログ)に書き込まれます。ログ ファイルには、更新内容を表わす変更レコード(Redoレコード)が含まれます。トランザクションのコミットなど、重要な時点でWALログはディスクに書き込まれます。リセットまたはクラッシュの場合、Redoレコードを使用して、ディスク上の永久データ ブロックの古いコピーを直近のリセット時点にメモリに存在したバージョンに回復できます。
WALログを維持することによって、変更された永久データ ブロックを各ブロックが変更されるごとにディスクに書き込む必要がなくなります。ディスクに書き込む必要があるのは、WALログのRedoレコードだけです。これによって永久データ ブロックの書き込みキャッシュを維持できます。
WALは、すべての永久テーブルおよびシステム テーブルを保護しますが、一時ジャーナル(TJ)を保護するためには使用されません(TJレコードは、WALログに格納されます)。また、スプール表または揮発テーブルの保護にも使用されません。
WALログは、通常のテーブル領域とは別の論理ファイル システムとして維持されます。 シリンダ全体がWALログに割り当てられ、WALログには独自のインデックス構造があります。
WALログのデータは、一連のWALログ レコードです。以下のレコードがあります。
- Redoレコード - ディスク ブロックを更新したり、再始動時にファイル システムの整合性を確保したりするために使用します。
- TJ レコード - トランザクションのロールバックに使用します。
WALログは、ハードウェア、ソフトウェア、および操作上の問題によるデータの破損など、通常のファイル システムの問題の多くを対象とします。Teradataのサポート担当者は、WALログおよびそのインデックスを表示および変更し、そのような問題を修復することができます。