--前回までは、V$SQLAREA表を使ってSQLの情報を取得してみたが、ではそのV$SQLAREA表自体はどのような構成になっているのだろうか。今回はV$SQLAREA表を詳しく見てみよう。V$SQLAREA表は共有プールに存在するSQLについての統計情報を見ることの出来るビューで、ひとつのSQLにつき1レコードが存在する。その内訳は、というと、、、何のことかお分かりだろうか。V$SQLAREA表は1SQLで使用するカーソルの情報を集計して表現するが、内部的には1つのSQL(HASH_VALUEの単位で)に複数のカーソルが存在する。この(子)カーソル単位で統計情報を現しているビューはV$SQL表だ。このビューでは、子カーソル単位でSQL情報を見ることが出来る。メモリ情報を取得してみよう。メモリ上で追いかける対象のSQL文を発行しておく。定されたディレクトリに作成されるダンプファイルを見てみよう。4';以下は、出力されたダンプファイルの抜粋である。1.05*************************************************************************"name"と示された部分にSQL文が表示してあり、先ほど発行したSQL文が確認できる。定したい場合はV$SQLAREAの"ADDRESS"や、"HASH_VALUE"の値を使用して検索するとすぐに見つけることが出来る。"ADDRESS"の値で検索する場合は、上記の"handle"(※2)の値に、また、"HASH_VALUE"の値で検索する場合は、16進数に変換した値が"hash"(※3)に、それぞれヒットする。ここで検索された情報は、"namespace=CRSR"や、"type=CRSR"となっていることから、カーソル情報であることがわかる。この情報は親カーソルか子カーソルか?結論から言うと、親カーソルである。子カーソルの情報と並べてみればなんとなく違いはわかるが、簡単な見分け方は、handle(※2)を検索してみる方法だ。親カーソルの場合は他に存在しない。子カーソルの情報はどうやって見つけるか。同じダンプファイル内に出力されているので、皆さん探してみてください。それは次回のお楽しみ。reserved.トップページ企業概要プライバシーポリシ。