株式会社インサイトテクノロジー 発行
http://www.insight-tec.com/jp/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Vol.29
☆☆☆ おら!オラ! Oracle −どっぷり検証生活− ☆☆☆
2000.11.01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
他ではなかなか得られない、マニュアルを読んでもわからない、
そういったOracleに関する技術情報をお届けするメルマガです。
実際に検証した結果も交えてお伝えしていきます。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
/// ///┏━━━━━━━━━━━━━━━━━━━━━━━━━┓/// ///
★ ★ ┃ ┃★ ★
┃ ★☆祝☆★OOW(Oracle Open World)出展決定!! ┃
/// ///┃ ┃/// ///
★ ★ ┗━━━━━━━━━━━━━━━━━━━━━━━━━┛★ ★
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
きたる12月14,15日に東京ドームにて開催されるOOWに弊社も出展することと
なりました。当日、ブースにはメルマガのライターたちもスタンバイ!
ぜひ、遊びに来てください。いいことあるかも!?
<<目次>>
■Oracle検証生活・・・ローカルエクステントマネージメントに関する検証
その6
■お知らせ・・・○Oracle管理ツール Performance Insight
○無料セミナーのご案内
○SQeeLのご案内 ○連載情報
○書籍ご予約受付中 ○QAについて
■編集者より
■■注意事項!!■■
本文中にテーブルが含まれていますので、お読みになる際はMSゴシック等、
等幅フォントをお使いただくことをお勧めします。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ Oracle検証生活 ▼━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
〜ローカルエクステントマネージメントに関する検証 その6〜
ペンネーム ちゃむ
--------------------------------------------------------------------------
8iからの新機能ローカルエクステントマネージメントを以下「LOCAL」と呼ぶ。
従来のデータディクショナリーでエクステントを管理する方法を以下「DICTIONARY」
と呼ぶ。
--------------------------------------------------------------------------
前回までで、「LOCAL」のエクステントをビットマップ管理するという構造的な
ところは理解できたであろう。
今回は、「LOCAL」と「DICTIONARY」を比較したときのメリットについて説明
する。
まずは、メルマガの第2回の 〜フリーブロックに関する検証 その2〜 で
説明をした内容であるが少し復習する。
バックナンバー ⇒ http://www.insight-tec.com/jp/em/mail_magazine_back.html
そこで説明した重要なポイントは2点あった。
1.SMONがコアレスする対象
「DICTIONARY」 → コアレス対象
「LOCAL」 → コアレス対象外
但し、「DICTIONARY」に関しては、テーブルスペースのpctincrease 0以外を
設定したテーブルスペースに対してsmonが自動的に5分に一回コアレスする。
また、コアレス対象テーブルスペースを特定するためにsmonが実行する
SQL文は以下の通りだった。
select f.file#, f.block#, f.ts#, f.length from fet$ f, ts$ t
where t.ts#=f.ts# and t.dflextpct!=0 and t.bitmapped=0
where句のt.dflextpct!=0がpctincrease 0以外をコアレス対象を意味し
t.bitmapped=0が「LOCAL」は、コアレス対象外を意味している。
2.STエンキュー(Space transaction enqueue)に関して
コアレスや領域マップを更新するTRUNCATE処理、DROP処理、CREATE TABLEな
どの処理を行う際に取得されるロックの一種
問題は、STエンキューは、インスタンス上に1つしか存在しない点である。
STエンキューは、通常はほんの一瞬しか取得されないので、問題になることはな
い。しかし、もしこのロックを長時間取得しているときがあれば、表領域に対
して領域マップの更新ができなくなり、他の表領域に対して領域マップを更新
するような処理が起こったときにその処理を待たせてしまう。
さて、復習したところで今回は「LOCAL」と「DICTIONARY」の領域マップ更新時
のV$LOCKから見た違いについて検証する。
手順1
「LOCAL」と「DICTIONARY」をエクステント単位を同じにして、同定義のテーブ
ルを5つそれぞれに作成する。但し、テーブルは領域マップの更新が起こりやす
いように、エクステントサイズを2ブロックと小さく設定する。
手順2
20000件のデータを5つのテーブルにSQL*LOADERを用いて、同時に流す。
手順3
V$LOCKよりそれぞれの処理の実行時の様子を見る。
検証開始
手順1
「LOCAL」
/*テーブルスペース作成*/
create tablespace TESTl
datafile '../mnt1/testl' size 100m
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 4k;
/*テーブル作成 以下と同様なテーブルを5つ作成する*/
create table customer5_l_1 (custid number(8) ,
cname varchar2(10),
class varchar2(2),
dummy char(60))
tablespace TESTl
storage (initial 4k next 4k pctincrease 0 maxextents unlimited );
「DICTIONARY」
/*テーブルスペース作成*/
create tablespace TESTd
datafile '../mnt1/testd' size 100m
minimum extent 4k;
/*テーブル作成 以下と同様なテーブルを5つ作成する*/
create table customer5_d_1 (custid number(8) ,
cname varchar2(10),
class varchar2(2),
dummy char(60))
tablespace TESTd
storage (initial 4k next 4k pctincrease 0 maxextents unlimited );
手順2
all_load_d.batを実行する。
all_load_d.batは、load_d20000_1.batからload_d20000_5.batの5つのSQL*LOADER
のスクリプトをバックグランドで実行するバッチ・ファイルである。
all_load_d.batの中身
load_d20000_1.bat &
load_d20000_2.bat &
load_d20000_3.bat &
load_d20000_4.bat &
load_d20000_5.bat &
load_d20000_1.batの中身
(load_d20000_1.batからload_d20000_5.batの中身は同様)
(data.txtは20000件のcsvファイル)
sqlldr control=datad20000_1.ctl data=data.txt userid=scott/tiger
log=datad20000_1.log
手順3
まず「DICTIONARY」のテーブルにデータを流したときのV$LOCKを見てみる。
V$LOCKは、その瞬間の状態を表したものなので、STエンキューなどといった
「一瞬」しか現れない(取得されない)ものに関しては、取得されている様
子を確認することは容易でない。以下は、「非常に良い一瞬」をとらえたも
のである。
SID TYPE ID1 ID2 LMODE REQUEST CTIME BLOCK
----------------------------------------------------------------
9 TX 458767 2242 6 0 0 0
9 TX 458763 2246 6 0 0 0
9 TM 13 0 3 0 0 0
9 TM 12 0 3 0 0 0
9 TM 57 0 3 0 0 0
9 TM 8397 0 3 0 0 0
9 ST 0 0 6 0 0 1
12 TX 327698 2245 6 0 1 0
12 TM 8400 0 3 0 1 0
12 ST 0 0 0 6 0 0
13 TX 589838 2243 6 0 0 0
13 TM 8398 0 3 0 0 0
13 ST 0 0 0 6 0 0
14 TX 524301 2254 6 0 0 0
14 TM 8401 0 3 0 0 0
14 ST 0 0 0 6 0 0
15 TX 393233 2253 6 0 1 0
15 TM 8399 0 3 0 1 0
15 ST 0 0 0 6 0 0
ここで注目していただきたいのは、まず、SID(セッションID)=9のSTエンキ
ューのBLOCK 1のものがLOCKをLMODE 6(排他モード)で取得して、REQUESTが6の
他のSIDのSTエンキューを待たせている様子がわかる。これがSTエンキューが
インスタンスに一つしか取られていないということを表わした状況である。
では、次に「LOCAL」のテーブルにデータを流したときのV$LOCKを見てみる。
SID TYPE ID1 ID2 LMODE REQUEST CTIME BLOCK
----------------------------------------------------------------
9 TX 327683 2271 6 0 0 0
9 TX 327689 2270 6 0 0 0
9 TM 8402 0 3 0 0 0
9 HW 19 71303201 6 0 0 0
9 TT 19 16 4 0 0 0
12 TX 196622 2306 6 0 0 0
12 TX 196621 2307 6 0 0 0
12 TM 8406 0 3 0 0 0
12 HW 19 71303209 6 0 0 0
12 TT 19 16 4 0 0 0
13 TX 65552 2316 6 0 0 0
13 TX 65553 2317 6 0 0 0
13 TM 8403 0 3 0 0 0
13 TM 57 0 3 0 0 0
13 TT 19 16 4 0 0 0
13 HW 19 71303203 6 0 0 0
14 TX 262150 2339 6 0 0 0
14 TX 262144 2332 6 0 0 0
14 TM 8404 0 3 0 0 0
14 HW 19 71303205 6 0 0 0
14 TT 19 16 4 0 0 0
15 TX 131078 2809 6 0 0 0
15 TX 131089 2806 6 0 0 0
15 TM 8405 0 3 0 0 0
15 HW 19 71303207 6 0 0 0
15 TT 19 16 4 0 0 0
なんと、STエンキューが取得されていない。かわりにTYPE=HWのものが取得され
ている。HWはSpace management operations on a specific segmentである。
これは領域管理に関するエンキューであるくらいのことしかわからない。
ただ、ここで重要なのは、HWは、インスタンスに複数取得できるので、待ちが生
じないところである。
alter.logにORA-01575: timeout waiting for space management resource
(STエンキュー待ちで発生するタイムアウト)。
というエラーメッセージが出力されるようなサイトには、「LOCAL」は、
それを防ぐための手段になり得るだろう。
12月14日(木)、15日(金)に開催されるORACLE OPEN WORLD(東京ドーム)へ
の出展が決まりました。メルマガライターもブース(インサイトテクノロジー)
に全員終結します。会場で皆様にお会いできるのを楽しみにしております!!
以上 寺尾 聡が犬の散歩をしていた 茅ヶ崎にて
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ Oracle 管理ツール Performance Insight ▼━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Oracleを知り尽くしたメンバーが開発したOracleパフォーマンス監視ツール
の決定版。それがPerformance Insightです。インサイトテクノロジーの技術
者の知恵とノウハウがここに結集!
パフォーマンス監視だけでなくOracleを使用しているシステムの運用、管理、
そして開発にも役立つ機能がいっぱいです。
詳しくは以下のURLをご覧ください。
http://www.insight-tec.com/jp/products/products.html
また無料で試使用することも可能です。
是非お問い合わせください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ 無料セミナーのご案内 ▼━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<スキルアップセミナー>
●実践から学ぶDBチューニング第3回「REDOログの仕組み」
無料セミナーの第3回は、11月22日(金)に開催されます。
多くの方々にご出席いただいた第1回と同様、有意義な内容のセミナーです。
皆様ぜひご参加ください。詳細は以下のURLにてご案内しています。
http://www.insight-tec.com/jp/topics/semi_information.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ SQeeLのご案内 ▼━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<プログラマ待望の言語SQeeL>
●手軽に使える、速い、そしてWEBに適した新言語SQeeL!
フリーソフトSQeeLは、以下のURLより好評ダウンロード中!
既に多くの方々にご利用いただいております。
あなたもSQeeLの世界を体験してみませんか?
http://www.SQeeL.org
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ 連載情報 ▼━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<雑誌連載>
Oracleのエキスパートとして定評のある弊社のスタッフが執筆しております
連載記事に関してご紹介しています。
現在書店にて発売中の「DB Magazine 12月号」(翔泳社)にて新連載が
スタートしました。是非ご覧下さい。
http://www.insight-tec.com/jp/topics/magazine.html
上記のURLでタイトルがご覧になれます。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ 書籍ご予約受付中 ▼━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<送料無料でお届けします>
「Oracle8 プロフェッショナルテクニック」は大好評につき、現在在庫切れと
なっており、ご注文いただいた皆様にはたいへんご迷惑をおかけしております。
まもなく入荷する予定ですので、今しばらくお待ちください。
これからご注文いただく方も、入荷次第発送させていただくということで
予約注文を受付けておりますのでよろしくお願い申し上げます。
また弊社のHPよりお申し込みいただいた方に限り、送料無料でお届けします。
専門書としては異例の速さで増刷が決定するほどの好評をいただい
ている「Oracle8 プロフェッショナルテクニック」をぜひご活用ください。
http://www.insight-tec.com/jp/topics/books.html
ホームページより受付中です。お早めに!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ QAについて ▼━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<皆様からのQAを受付けております>
皆様のQAにはできるだけ、お答えしたいと思っています。
すべてのQAにお答えすることはできないかもしれませんが、
適宜メルマガ内でとりあげていく予定ですので、是非QAをお寄せください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ 編集者より ▼━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
この1週間、いつもより速いペースで読者が増えました。もしかすると、
「DB Magazine」の連載を読んでくれたのかしら?だとしたら、うれしいな。
どうもありがとう。でもこのメルマガの内容がちょっとハードだな、って感
じていたりしませんか?ご要望が多いようであれば、もう少し初心者向けの
コーナーを設けようかと思っているのですが、どうでしょう?
是非、ご意見をお寄せください。 by UA
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
登録・解除は以下のURLで行うことができます。
http://www.insight-tec.com/jp/em/mail_magazine.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<おら!オラ!Oracle−どっぷり検証生活−>
発行/編集:株式会社インサイトテクノロジー
http://www.insight-tec.com/jp
マガジンID:0000030093
本メールマガジンに掲載された記事を許可なく転載することを禁じます。
Copyright (c) 1996-2000, Insight Technology, Inc. All rights reserved.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━