Oracle RDBMSのREDOログとは何ですか？
Oracle RDBMS環境では、REDOログは、データベースに加えられたすべての変更の履歴を記録する独自の形式のファイルから構成されます。各REDOログファイルはREDOレコードで構成されているのだ。REDOレコードはREDOエントリとも呼ばれ、変更ベクトル群を保持し、各ベクトルはデータベース内の単一ブロックに加えられた変更を記述または表現する。

例えば、ユーザーが従業員関連データを含むテーブルの給与値をUPDATEした場合、DBMSはテーブルのデータセグメントブロックへの変更を記述する変更ベクトルを含むREDOレコードを生成するのだ。そして、ユーザーが更新をCOMMITすると、Oracleは別のREDOレコードを生成し、その変更に「システム変更番号」（SCN）を割り当てる。

データファイルで何かが変更されると、Oracleはその変更をredoログに記録するのだ。データベースがクラッシュした場合、RDBMSはデータファイルのすべての変更をやり直す（再処理する）ことができ、データベースデータを最後のREDOレコードが書き込まれたときの状態に戻すことができるのだ。DBAは、V$LOG、V$LOGGFILE、V$LOG_HISTORY、V$THREADというビューを使用して、データベースのREDOログに関する情報を見つけます。各REDOログファイルは、正確に1つのグループに属しています（そのうち、少なくとも2つは存在しなければなりません）。これらのグループのうちちょうど1つがCURRENTグループです（v$logのカラムstatusを使用して問い合わせることができます）。Oracle は、その現在のグループを使用して、REDO ログエントリを書き込みます。グループが一杯になると、ログ切り替えが行われ、別のグループが現在のグループとなります。各ログ切り替えはチェックポイントを引き起こしますが、逆は真ではありません：チェックポイントはREDOログ切り替えを引き起こしません。ALTER SYSTEM SWITCH LOGFILEコマンドを使用して、手動でREDOログの切り替えを行うことも可能なのだ。
Oracle RDBMでは、REDOログはデータベースの変更履歴を保持するために使用されるログなのだ。データファイルにリンクされた各REDOログは、変更ベクトルグループを保持する複数のREDOレコードを持ちます。REDOログは、データベースがクラッシュした場合に変更を適用するために使用することができ、増分バックアップを作成するためにも便利なのだ。