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

投稿日: 2001年8月22日

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

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

前回は、DUMP中の重要な部分についての解説を行った。

今回は、REDOログに関する統計情報についての解説を行う。

*********** REDOログに関する統計情報 ***********

REDOログに関する統計情報により、実際に生成されたRedoレコードのバイト数
などを知ることができる。
REDOログに関連する統計情報を取得し、以下のトランザクション処理で、いっ
たいどれくらいの情報量を書き込んだかを調べてみよう。

———- SQL文 ———-

DESC WORK03
名前                            NULL?    タイプ
------------------------------- -------- ----
EMPNO                                    NUMBER(4)
ENAME                                    VARCHAR2(6)
ADDRESS                                  VARCHAR2(12)
JOB                                      VARCHAR2(8)
MGR                                      NUMBER(4)
SAL                                      NUMBER(7)
COMM                                     NUMBER(7)
DEPTNO                                   NUMBER(2)

※ EMPNOにはインデックスは作成していない

UPDATE WORK03
SET ENAME = 'haneda'
WHERE EMPNO = 1001 ;

1行が更新されました。

COMMIT ;

コミットが完了しました。

以下の図は、REDOログに対する書き込み量を調査するために必要となる統計情
報である。

上記の図をご覧になっていただければお分かりの通り、REDOログに関する統計
情報は数多くある。今回は、redo size、redo wastage及びredo blocks written
の3つに焦点を絞り、実際にREDOログ・ファイルへ書き込まれたデータ量を調べ
たところ、書き込みを行ったブロック数と、書き込みを行ったデータ量(バイト数)
が比例しないことが分かった。

これらの統計情報の値は累計値となっているので、更新処理前後の差分を求め
る必要がある。書き込み量を調べるために必要な統計情報の値は、以下の通り
である。

1.redo size           = 448
2.redo wastage        = 544
3.redo blocks written =   2

各統計情報の意味は、以下の通りである。

<redo size>
生成されたREDOの合計バイト数

<redo wastage>
OSのブロック単位(512バイト)で書き込みを行う際のフォーマットのために、
REDOログ・ファイル内の領域を浪費した合計バイト数

<redo blocks written>
REDOログ・ファイルへ書き込みを行った合計ブロック数

次回は、なぜ、書き込みを行ったブロック数と、書き込みを行ったデータ量
(バイト数)が比例しないかについての解説を行う予定である。

以上 台風接近間際の茅ヶ崎にて