概要
OracleMasterBronzeの勉強をしている方向けにREDOログファイルについて解説していきます。
REDOログファイルとは
トランザクションの内容(ユーザーによるSQL文)やデータベースの変更履歴(DBの内部処理)が記録される。
ロールフォワードやリカバリ処理などに使用される。
REDO保存の流れ
上記のトランザクションなどを処理するとREDOレコード(変更履歴のようなもの)が発行
↓
SGAのREDOログバッファに一時保存
↓
バックグラウンドプロセスのLGWRによりディスクに存在するREDOログファイルに保存されます。
REDOログファイルの構成
循環方式で書き込むために、REDOロググループを2つ以上構成する。
またREDOログの多重化を行うため、同じグルループ内に内容が同じの複数のREDOログファイルを保持します(これをメンバーと呼びます)
例:3グループ構成の場合
グループ1→グループ2→グループ3→グループ1...
このような感じで循環(ログスイッチ)していきます。
ログスイッチはREDOログファイルが一杯になったタイミング(手動での切り替えも可能)で行わる。
LGWRで書き込む対象のREDOロググループを「カレントのREDOロググループ」と呼び、ログ順序番号により識別されています。
REDOログファイルのアーカイブ
REDOログファイルは循環方式で書き込むために、一周してグループ1に戻る時に古いログが上書きされると困ります。
なので、グループ1からグループ2(2から3)
にログスイッチしたタイミングでバックグラウンドプロセスのアーカイバ(ARCn)により、グループ1のログファイルをアーカイブログファイルとしてアーカイブされます。
読んでいただきありがとうございました。