┏┏┏┏┏━━━━━━━━━━━━━━━━━━━━━━━━…・・ ┏━
┏┏┏┏┛ 2002.08.07 ┏┛┛
┏┏┏┛ ☆おら!オラ!Oracle -どっぷり検証生活-★ ┏┛┛┛
┏┏┛ ┏┛┛┛┛
┏┛・・…━━━━━━━━━━━━━━━━Vol.116━…・・┏┛┛┛┛┛
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ 来週のメルマガはお休み! ◆
◇ ~~~~~~~~~~~~~~~~~~~~~~~~ ◇
●≫≫≫≫≫≫ 8月14日はお盆のため休刊いたします。 ≪≪≪≪≪≪●
◇ 悪しからずご了承のほど、よろしくお願いいたします。 ◇
◆ 次回の配信は8月21日になります。 ◆
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◇目次◇
■Oracle検証生活・・・共有プール領域に関する検証 その4
■お知らせ・・・○QAについて
■編集者より
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
■□注意事項□■
本文中にテーブルが含まれていますので、お読みになる際はMSゴシッ
ク等、等幅フォントをお使いただくことをお勧めします。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
┏─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━┓
●【 Oracle 検証生活 】 ●
┗─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━┛
<共有プールに関する検証 その4> ペンネーム ダーリン
-- V$SQLAREA と 親カーソル -−
前回までは、V$SQLAREA表を使ってSQLの情報を取得してみたが、ではその
V$SQLAREA表自体はどのような構成になっているのだろうか。
今回はV$SQLAREA表を詳しく見てみよう。
V$SQLAREA表は共有プールに存在するSQLについての統計情報を見ることの出来
るビューで、ひとつのSQLにつき1レコードが存在する。
ではその内訳は、というと、、、何のことかお分かりだろうか。
そう、カーソル。
V$SQLAREA表は1SQLで使用するカーソルの情報を集計して表現するが、内部的
には1つのSQL(HASH_VALUEの単位で)に複数のカーソルが存在する。
これらは、親カーソル1つとその子カーソルという形で表現され、カーソルが
ひとつしか存在しない場合でも、最低1つずつの親カーソルと子カーソルが存
在している。
この(子)カーソル単位で統計情報を現しているビューはV$SQL表だ。
このビューでは、子カーソル単位でSQL情報を見ることが出来る。
実は、これら親カーソル/子カーソルの関連をメモリ上で垣間見ることが出
来る。
ちょっとメモリ情報を取得してみよう。
まず、メモリ上で追いかける対象のSQL文を発行しておく。
*************************************************************************
SQL> connect scott/tiger
SQL> select * from emp;
*************************************************************************
続いて、以下のコマンドを発行し、初期化パラメータ”user_dump_dest”で指
定されたディレクトリに作成されるダンプファイルを見てみよう。
*************************************************************************
SQL> alter session set events 'immediate trace name library_cache level 4';
*************************************************************************
以下は、出力されたダンプファイルの抜粋である。
*************************************************************************
LIBRARY OBJECT HANDLE: handle=821e121c <------(※2)
name=select * from emp <------------(※1)
hash=b382f8a6 timestamp=08-06-2002 09:41:20 <------(※3)
namespace=CRSR flags=RON/KGHP/TIM/PN0/SML/[12010000]
kkkk-dddd-llll=0000-0001-0001 lock=N pin=0 latch=0
lwt=821e1234[821e1234,821e1234] ltm=821e123c[821e123c,821e123c]
pwt=821e124c[821e124c,821e124c] ptm=821e12a4[821e12a4,821e12a4]
ref=821e1224[821e1224, 821e1224] lnd=821e12b0[821e12b0,821e12b0]
LOCK OWNERS:
lock user session count mode flags
-------- -------- -------- ----- ---- ------------------------
82451088 82c9e4dc 82c9e4dc 1 N [00]
LIBRARY OBJECT: object=809b8cf4
type=CRSR flags=EXS[0001] pflags= [00] status=VALD load=0
CHILDREN: size=16
child# table reference handle
------ -------- --------- --------
0 809b8e88 8079344c 819443ec
DATA BLOCKS:
data# heap pointer status pins change alloc(K) size(K)
----- -------- -------- ------ ---- ------ -------- --------
0 81851570 809b8d78 I/P/A 0 NONE 0.80 1.05
*************************************************************************
"name"と示された部分にSQL文が表示してあり、先ほど発行したSQL文が確認
できる。(※1)
今回は簡単なSQL文を発行したため、間違えることはないと思うが、SQL文を特
定したい場合はV$SQLAREAの"ADDRESS"や、"HASH_VALUE"の値を使用して検索す
るとすぐに見つけることが出来る。
"ADDRESS"の値で検索する場合は、上記の"handle"(※2)の値に、また、
"HASH_VALUE"の値で検索する場合は、16進数に変換した値が"hash"(※3)に、
それぞれヒットする。
また、ここで検索された情報は、"namespace=CRSR"や、"type=CRSR"となって
いることから、カーソル情報であることがわかる。
では、この情報は親カーソルか子カーソルか?
結論から言うと、親カーソルである。子カーソルの情報と並べてみればなんと
なく違いはわかるが、簡単な見分け方は、handle(※2)を検索してみる方法
だ。親カーソルの場合は他に存在しない。
では、子カーソルの情報はどうやって見つけるか。
同じダンプファイル内に出力されているので、皆さん探してみてください。
もっとも意表をついた探し方を教えてくれた読者の方には、素敵なグッズが用
意されているかも。
それは次回のお楽しみ。
以上 帰省渋滞をどうやって避けようか頭がいたい 茅ヶ崎にて
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
一緒に検証してみませんか?
http://www.insight-tec.com/jp/html/company/career.html
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
┏─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━┓
●【 QAについて 】 ●
┗─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━┛
<皆様からのQAを受付けております>
皆様のQAにはできるだけ、お答えしたいと思っています。
すべてのQAにお答えすることはできないかもしれませんが、
適宜メルマガ内でとりあげていく予定ですので、是非QAをお寄せください。
┏─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━┓
●【 編集者より 】 ●
┗─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━┛
すっかり夏ですよねぇ。今年もやっぱり日焼けをしないようにと思い、日傘
をさしながら歩いているのですが・・。気が付けば、やはり今年もサンダル
焼けができてしまいました。はぁ。すでに遅いとわかっていても、毎日サン
ダルを替えてしまう今日このごろなんですぅ・・。 by TI
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
登録・解除は以下のURLで行うことができます。
http://www.insight-tec.com/jp/html/ora3/ora3.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<おら!オラ!Oracle−どっぷり検証生活−>
発行/編集:株式会社インサイトテクノロジー
http://www.insight-tec.com
マガジンID:0000030093
本メールマガジンに掲載された記事を許可なく転載することを禁じます。
Copyright (c) 1996-2002, Insight Technology, Inc. All rights reserved.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━