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ロ
グ・ファイルに書き出される内容」などを中心に、もう少し掘り下げていく予
定である。
以上 潮風がささやき始めた茅ヶ崎にて