2003年10月16日 | トランザクション・バックアウト | >> 目次 (テーマ ごと) |
トランザクション・バックアウト は、正常に終了しなかった (not successfully completed) 更新 トランザクション を 「undo」 する機能である。システム あるいは プログラム が アベンド (abend) した際、完了しなかった更新トランザクション は取り消され(backout、つまり reversed)、途中までしか更新されていない テーブル は更新以前の状態に回復される。 トランザクション・バックアウト は、「restart」 と同じことである。つまり、正常に完了しなかった状態を、「最新の (last)」 正常な状態に遡及して修復する。「最新の正常な状態」 に修復するためには、トランザクション・バックアウト の対象となるタスクは、ログ・エリア に記録されていなければならない。
ログ・レコード は、更新 トランザクション の記録 (a history of the transaction) である。
(1) 更新前の データ (pre-update image)
ログ・レコード は、トランザクション・バックアウト 用として、チェックポイント が付与されるまで、ログ・エリア のなかに収録されている。 ちなみに、更新 トランザクション の書き込みは、以下の順になる (follows rigid sequence of physical writes)。
(1) ログ・エリア
更新が、最初、ログ・エリア に対して書き込まれる理由は、トランザクション・バックアウト に対する準備である。
ログ・エリア から リカバリー・ファイル に スピル された ログ・データ は、リカバリー の際に使われる。
(1) フォワード・リカバリー (forward recovery)
バックワード・リカバリー は、トランザクション・バックアウト と同じ仕組みである。 |
<< もどる | ベーシックス | すすむ >> | |
▼ データベースの基礎知識 |