REDOログに関する検証 その1

< REDOログに関する検証 その1 > ペンネーム つけまい

— 内部構造を理解し
パフォーマンスの向上に役立てる —

今回からは、Oracleの障害発生時のリカバリ部分をつかさどる「REDOログ」に
ついての検証を行う。OracleにとってREDOログとは、まさに生命維持装置の様
なものであると共に、Oracleを構成する中で、最もパフォーマンス・ネックと
なる部分と言っても過言でない程、重要な要素を数多く含んでいる。

そこで今シリーズの前半は、まず「REDOログの基本構成」を十分に理解してい
ただきたいと考えている。そして後半部分では、「REDOログのチューニング」
についてのテクニック等を紹介する予定である。

<リカバリ情報を蓄積するオンラインREDOログのしくみ>
REDOログの構成要素には、REDOログ・バッファやREDOログ・ファイルなどがあ
る。また、REDOログへのリカバリ情報の書き出しを行うLGWRプロセスに関して
も、DBWR(データベース・バッファよりデータファイルに書き戻しを行うプロ
セス)やARCH(REDOログ・ファイルを更新履歴としてアーカイブファイルにコ
ピーを行うプロセス)などとシグナルのやり取りを行っているため、これらの
プロセスとの関係も理解しなければならない。

以下の図は、REDOログの基本的な処理の流れを説明したものである。

1.ユーザの更新要求により、バックグラウンド・プロセスがデータファイルより、該当するブロックをデータベース・バッファ上にコピーする。
2.UPDATE処理により更新された新情報及び更新前の旧情報がログ・バッファに書き込まれる。
3.更新前の旧情報がデータベース・バッファ内に割り当てられたロールバック・セグメントに書き込まれる。
4.更新後の新情報がデータベース・バッファ内の該当ブロックに上書きされる。
5.コミット要求により、ログ・バッファ内の変更をREDOログ・ファイルに書き込む。
(コミット要求以外にもREDOログ・ファイルへの書き込みが行われる(次回以降で解説)
6.REDOログ・ファイルが一杯になると、チェックポイントが発生する。
7.チェックポイントが発生した時点で、LGWRはDBWRにシグナルを送る。
8.チェックポイント発生の知らせを受けたDBWRは、データベース・バッファ内のダーティなブロックを全てデータファイルに書き戻す。
9.データファイルへの書き戻しが完了したら、LGWRに対して処理の終了を通知する。
10.LGWRによりログ・バッファ内の変更が書き込まれるREDOログ・ファイルを1から2へチェンジする。(ログ・スイッチ)
11.データベースをARCHIVELOGモードで運用している場合、データベースの変更を記録して一杯になった REDOログ・ファイルを、
アーカイブファイルに書き出す。

———————————————————————-

1.ユーザの更新要求により、バックグラウンド・プロセスがデータファイルよ
り、該当するブロックをデータベース・バッファ上にコピーする

2.UPDATE処理により更新された新情報及び更新前の旧情報がログ・バッファに
書き込まれる

3.更新前の旧情報がデータベース・バッファ内に割り当てられたロールバック・
セグメントに書き込まれる

4.更新後の新情報がデータベース・バッファ内の該当ブロックに上書きされる

5.コミット要求により、ログ・バッファ内の変更をREDOログ・ファイルに書き
込む(コミット要求以外にもREDOログ・ファイルへの書き込みが行われる
(次回以降で解説))

6.REDOログ・ファイルが一杯になると、チェックポイントが発生する

7.チェックポイントが発生した時点で、LGWRはDBWRにシグナルを送る

8.チェックポイント発生の知らせを受けたDBWRは、データベース・バッファ内
のダーティなブロックを全てデータファイルに書き戻す

9.データファイルへの書き戻しが完了したら、LGWRに対して処理の終了を通知
する

10.LGWRによりログ・バッファ内の変更が書き込まれるREDOログ・ファイルを1か
ら2へチェンジする(ログ・スイッチ)

11.データベースをARCHIVELOGモードで運用している場合、データベースの変更
を記録して一杯になったREDOログ・ファイルを、アーカイブファイルに書き出す

———————————————————————-

ご理解いただけたであろうか?これらの処理の流れは、今後検証を行っていく
上で、絶対に理解していなければならないものとなる。基本をしっかり抑えた
上で、今後の運用に役立てていただければ幸いである。

次回からは、「REDOログ・ファイルに書き出されるタイミング」や、「REDOロ
グ・ファイルに書き出される内容」などを中心に、もう少し掘り下げていく予
定である。

以上 潮風がささやき始めた茅ヶ崎にて