株式会社インサイトテクノロジー 発行
http://www.insight-tec.com
・;*;・゜’★,。・*;・゜’♪☆。・;*;゜’♪★。・;*;゜’☆ ●●●●
● Vol.59 ●●●
●● おら!オラ!Oracle −どっぷり検証生活− ●●
●●● ☆ 2001.06.06 ●
●●●●☆。・;*;・゜’★,。・*;・゜’♪☆。・;*;゜’♪★。・;*;゜;♪
◎● I┃ N┃ D┃ E┃ X┃!┃◎●
━┛━┛━┛━┛━┛━┛
┏━━━━━━━━━━━┓
┃★ Oracle検証生活 ★ ━━━━━━━━━━━━━━━━━━━━━━┓
┣━━━━━━━━━━━┛
┣○ 【 ロ ッ ク に 関 す る 検 証 そ の 6 】
┣━━━━━━━━━━━┓
┃★ 製 品 情 報 ★ ━━━━━━━━━━━━━━━━━━━━━…
┣━━━━━━━━━━━┛
┣○ 【 Oracle管理ツール Performance Insight 】
┃ 国内3500ライセンスの販売実績を誇る最強のチューニングツール
┃
┣○ 【 SQeeL(スキール)】
┃ WEBに適した新言語 ⇒ SQeeL!(オープンソースのフリーウェア)
┣━━━━━━━━━━━┓
┃★ INFORMATION ★ ━━━━━━━━━━━━━━━━━━━━━…
┣━━━━━━━━━━━┛
┣○ 【 連載情報 】
┣○ 【 書籍のご案内 】
┣○ 【 QAについて 】
┣○ 【 編集者より 】
┣○ 【 解 除 の 方 法 】
┃ http://www.insight-tec.com/jp/html/ora3/ora3.html
┃ 解除手続きは上記のURLよりお願い致します。原則として当方での解除
┃ は行っておりません、ご了承の程お願い申し上げます。
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━…
┣○ 【 注意事項 】
┃ 本文中にテーブルが含まれていますので、お読みになる際はMSゴシッ
┃ ク等、等幅フォントをお使いただくことをお勧めします。
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□■ Oracle検証生活 □■÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
〜ロックに関する検証 その6〜
ペンネーム ちゃむ
前回は、ビットマップ・インデックスの構造の概要を説明した。
今回は、ビットマップ・インデックスの構造の詳細をさらに見ていこう。
前回使用したカーディナリティ4のビットマップ・インデックスを使用し、詳細
な構造を見ていこう。詳細な構造を知るには、やはりお馴染みのダンプが必要
である。今回は、Oracle8以降のダンプの取得方法で行なうが、Oracle7以前の
方法を知りたければ、バックナンバーの「続・インデックスに関する検証」を
参照いただきたい。
********************** カーディナリティ4の場合 ***********************
SQL> CREATE BITMAP INDEX BITMAP_4 ON T10MAN_COPY_4(MGR)
STORAGE (INITIAL 2K NEXT 2K PCTINCREASE 0 MAXEXTENTS UNLIMITED) ;
SQL> SELECT SEGMENT_NAME,BLOCKS,EXTENTS FROM DBA_SEGMENTS
WHERE SEGMENT_NAME = 'BITMAP_4' ;
SEGMENT_NAME BLOCKS EXTENTS
-------------------- --------- ---------
BITMAP_4 90 89
**********************************************************************
さらに細かく、EXTENTS=89個のすべてのエクステントのBLOCK_IDを見ていこう。
このBLOCK_IDが、後程行うダンプの解析で役に立つ。また、89行検索されてい
るが、当然これは、EXTENTS=89個と一致し、エクステントが89個あることを意
味する。また、セグメントヘッダーを含んでいるエクステント(BLOCK_ID=24065)
以外はすべてBLOCKS=1なので、1ブロックのエクステントであることを意味する。
ちなみに、この検証では、セグメントヘッダーとBranchブロックが同じエクス
テント内に1ブロックずつ格納された(インデックスの構造は通常、「ルート」、
「ブランチ」、「リーフ」といった具合に3階層構造となっている(詳しくは、
バックナンバー「インデックスに関する検証」を参照)。しかし、この検証で
用いたインデックスの構造は、比較的小さいため、「ルート」を除いた、
「ブランチ」、「リーフ」の2階層で構成されている。したがって、セグメント
の先頭に必ず存在するセグメント・ヘッダーと、インデックス構造の先頭に位
置する「ルート」(ここではブランチ)が、ここでは同じエクステント内に格
納されていることを表している)。
**********************************************************************
SQL> SELECT FILE_ID,BLOCK_ID,BLOCKS FROM DBA_EXTENTS
WHERE SEGMENT_NAME = 'BITMAP_4' ORDER BY BLOCK_ID ;
FILE_ID BLOCK_ID BLOCKS
--------- --------- ---------
4 18333 1
4 22960 1
4 23025 1
4 23043 1
4 23075 1
4 23133 1
4 23146 1
: : :
: : :
4 24065 2 ← セグメントヘッダーが含まれている
: : :
: : :
4 83004 1
4 83036 1
4 83039 1
4 83055 1
4 83070 1
4 83132 1
4 83164 1
89行が選択されました。
**********************************************************************
次に、ビットマップ・インデックスBITMAP_4のTREE DUMPを取得する。DUMPを取
得するためには、OBJECT_IDが必要となる。
**********************************************************************
SQL> SELECT OBJECT_ID FROM DBA_OBJECTS WHERE OBJECT_NAME = 'BITMAP_4' ;
OBJECT_ID
---------
5719
**********************************************************************
OBJECT_IDを指定してTREE DUMPを取得(初期化パラメータのUSER_DUMP_DESTに
設定されているディレクトリに出力される)
**********************************************************************
SQL> ALTER SESSION SET EVENTS 'IMMEDIATE TRACE NAME TREEDUMP LEVEL 5719' ;
**********************************************************************
以前、ビットマップ・インデックスは、B-Treeインデックスの構造の中に格納
されていると説明したが、TREE DUMPを取得できるところからも明らかであろう。
以下のTREE DUMPを見ると、TREEの高さが2階層のインデックスであるというこ
とがわかる。前述してあるが、root-branch-leafという3階層構造ではなく、イ
ンデックスのサイズが小さいために、rootのないbranch-leafという構造になっ
ている。
また、TREE DUMPの中のnrow、rrow の違いは、バックナンバー
「続・インデックスに関する検証 その3」を参照していただきたいが、今回は、
nrowだけに着目して説明する。nrowは、インデックスのリーフに格納されてい
る行数と考えればよい。B-Treeインデックスであれば、この行数は、カラム長
にもよるが、20から50行くらいあるのが普通である。しかし、ビットマップ・
インデックスでは、殆どが1行で、多くても2行である。実は、ここにビットマップ・
インデックスのロックの問題が潜んでいるのであるが...。
branch blockに関しては、88行存在しているが、それは、リーフ・ブロックの
DBA(DATA BLOCK ADDRESS)とカラム値を含んでいるものであり、役割としては
B-Treeインデックスのbranchと殆ど同じである(若干構造は異なるが...)。
*************** ビットマップ・インデックスのTREE DUMP ****************
branch: 0x1005e02 16801282 (0: nrow: 88, level: 1) ← branch block
leaf: 0x1005da6 16801190 (-1: nrow: 1 rrow: 1) ← reaf block
leaf: 0x1005f11 16801553 (0: nrow: 1 rrow: 1)
: : :
: : :
: : :
leaf: 0x10143ec 16860140 (16: nrow: 1 rrow: 1)
leaf: 0x1005b34 16800564 (17: nrow: 1 rrow: 1)
leaf: 0x1011795 16848789 (18: nrow: 1 rrow: 1)
leaf: 0x1011867 16848999 (19: nrow: 1 rrow: 1)
leaf: 0x10141b3 16859571 (20: nrow: 2 rrow: 2)
leaf: 0x1014221 16859681 (21: nrow: 1 rrow: 1)
leaf: 0x101443c 16860220 (22: nrow: 1 rrow: 1)
: : :
: : :
: : :
leaf: 0x101429e 16859806 (81: nrow: 1 rrow: 1)
leaf: 0x101445c 16860252 (82: nrow: 1 rrow: 1)
leaf: 0x1005fd9 16801753 (83: nrow: 1 rrow: 1)
leaf: 0x100479d 16795549 (84: nrow: 1 rrow: 1)
leaf: 0x10059b0 16800176 (85: nrow: 1 rrow: 1)
leaf: 0x1005a6a 16800362 (86: nrow: 2 rrow: 2)
**********************************************************************
次回はさらに、詳細なBLOCK DUMPを取得して、ビットマップ・インデックス構
造の核心に迫ってみる。
以上 茅ヶ崎にて
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■□ Oracle 管理ツール Performance Insight ■□÷÷÷÷÷÷÷÷÷÷
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Oracleを知り尽くしたメンバーが開発したOracleパフォーマンス監視ツール
の決定版。それがPerformance Insightです。インサイトテクノロジーの技術
者の知恵とノウハウがここに結集!
パフォーマンス監視だけでなくOracleを使用しているシステムの運用、管理、
そして開発にも役立つ機能がいっぱいです。
詳しくは以下のURLをご覧ください。
http://www.insight-tec.com/jp/html/products/products.html
また無料で試使用することも可能です。
是非お問い合わせください。
<マニュアル>
●Performance Insight3 マニュアル
Performance Insight3 User's Guide(マニュアル)の日本語版と英語版を
無料でダウンロード開始しました!
●POPSQL マニュアル
POPSQL マニュアルの英語版もダウンロード開始しました!
マニュアルのダウンロードは以下のURLから!
http://www.insight-tec.com/jp/html/products/manual.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□■ SQeeLのご案内 □■÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<プログラマ待望の言語SQeeL>
●手軽に使える、速い、そしてWEBに適した新言語SQeeL!
フリーソフトSQeeLは、以下のURLより好評ダウンロード中!
既に多くの方々にご利用いただいております。
あなたもSQeeLの世界を体験してみませんか?
http://www.SQeeL.org/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■□ 連載情報 ■□÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<雑誌連載>
Oracleのエキスパートとして定評のある弊社のスタッフが執筆しております
連載記事に関してご紹介しています。
現在「DB Magazine」に、Oracleビギナー向け連載が掲載されています。
7月号が発売中ですので、是非ご覧下さい。
http://www.insight-tec.com/jp/html/topics/magazine.html
上記のURLでタイトルがご覧になれます。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□■ 書籍ご案内 □■÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<送料無料でお届けします>
1.「Oracle8 プロフェッショナルテクニック」
弊社のHPよりお申し込みいただいた方に限り、送料無料でお届けします。
専門書としては異例の速さで増刷が決定するほどの好評をいただいている
「Oracle8 プロフェッショナルテクニック」をぜひご活用ください。
2.「Oracleデータベース管理を極める13章」
「DB Magazine」に連載され大好評だった「体験的・DBAのお仕事」が
加筆され書籍化された同書は、おかげさまで発売以来3ヶ月足らずで第3刷
となりました。
好評につき、キャンペーンを拡大いたしました!上記の書籍はいずれも
消費税サービス+送料無料、つまり本体価格のみでご購入いただけます。
この機会をお見逃し無く。
さらに書籍をお買い上げいただいた方にはもれなく「Oracleの知恵袋」進呈中!
数に限りがございますので、在庫がなくなり次第終了とさせていただきます。
お早めに!
書籍ご購入のお申し込みは以下のURLより受付中!
http://www.insight-tec.com/jp/html/topics/books.html
<Oracleパーフェクトチューニングセミナー>
●6月にPerformance Insightを用いたチューニング手法を、余す所なく披露
しようと予定中です!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■□ QAについて ■□÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<皆様からのQAを受付けております>
皆様のQAにはできるだけ、お答えしたいと思っています。
すべてのQAにお答えすることはできないかもしれませんが、
適宜メルマガ内でとりあげていく予定ですので、是非QAをお寄せください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□■ 編集者より □■÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
最近、やっとカメラが終わったから写真を現像に出したんですよー。そした
ら、1年前の懐かしい写真がいっぱい出てきたんですっ!会社の人たちと見
ていたら、ある事を言われて気が付いたんです・・・。前は眉毛を薄く描い
ていたんです!気になりだしてから、どんどん濃く描くようになってしまい
今では・・・。いかにも、描いてます状態・・・。みんなの観察力&自分の
変わりようにビックリさせられた1日でしたー。 by TI
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<おら!オラ!Oracle−どっぷり検証生活−>
発行/編集:株式会社インサイトテクノロジー
http://www.insight-tec.com
マガジンID:0000030093
本メールマガジンに掲載された記事を許可なく転載することを禁じます。
Copyright (c) 1996-2001, Insight Technology, Inc. All rights reserved.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━