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

投稿日: 2001年8月01日

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

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

前回は、REDOログ・バッファ(ファイル)へ書き込まれる情報についての解説
を行った。

今回は、DUMPコマンドを用いて、実際のREDOログ・ファイルの中身を覗いてみ
よう。

*********** REDOログ・ファイルの中身 ***********

REDOログ・ファイルには、前回で説明したように1つのトランザクションに対し
て、REDOレコード単位で記録されている。したがって、REDOログ・ファイルと
は、REDOレコードの集まりということになる。そのことを確認するために、実
際にデータベースに対して変更を行い、その際に書き出される内容を、REDOログ・
ファイルのDUMP機能を用いて、中身を覗いてみよう。

データベースに対して更新処理を行う前に、まず、現在のトランザクションが
どのREDOログ・ファイルに書き出されるかを知る必要がある。

以下の図は、現在どのREDOログ・ファイルに書き出しを行っているかを知るた
めのSQL文及び、トランザクション処理を記述したものである。

まず始めに、V$LOGビューより、現在書き込みが行われているREDOログ・ファイ

ルを調べる。STATUSがCURRENTとなっているGROUPが、現在書き込みが行われて
いるREDOログ・グループである。

次に、V$LOGFILEビューより、現在書き込みが行われているグループの、OS上の
ファイル名を調べる。

次に、UPDATE文を発行した後、書き出しが行われているREDOログ・ファイルに
対して、ALTER SYSTEMコマンドを用いて、REDOログ・ファイルのDUMPを取得す
る(下図参照)。

REDOログ・ファイルのDUMP

記載しているREDOログ・ファイルのDUMPは、トランザクション処理部分のみを
抜粋したものである。ご覧のように、4つのチェンジベクターが記録されている。
この4つのチェンジベクターは、次の1~4に対する変更を記録したものである。

1.ロールバックセグメントのトランザクション表
2.ロールバックセグメントのデータブロック
3.テーブルWORK03のブロック
4.コミット情報

次回は、DUMP中の重要な部分について、もう少し詳しく解説を行う予定である。
読者の方々も、時間があれば、是非、DUMPの取得を試みていただきたい。

以上 夏バテ寸前の茅ヶ崎にて