Insight Technology, Inc

インサイトテクノロジー

Japanese | English

株式会社インサイトテクノロジー 発行
http://www.insight-tec.com/jp
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Vol.6
   ☆☆☆  おら!オラ! Oracle −どっぷり検証生活− ☆☆☆
                             2000.05.24
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    他ではなかなか得られない、マニュアルを読んでもわからない、
   そういったOracleに関する技術情報をお届けするメルマガです。
   実際に検証した結果も交えてお伝えしていきます。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


┏━━━━◆ Oracle技術を高めたい人におすすめのセミナー◆━━━━━┓
★★   ┏━━━━━━━━━━━━━━━━━━━━━━━┓    ★★
★★   ┃Oracle8プロフェッショナルテクニック セミナー ┃    ★★
★★   ┗━━━━━━━━━━━━━━━━━━━━━━━┛    ★★
★★ ご要望にお応えして開催決定!お知らせ&HPにて詳細ご案内中!  ★★
┗━ http://www.insight-tec.com/jp/topics/semi_information1.html ━┛


<<目次>>
■Oracle検証生活・・・フリーブロックに関する検証 その6
■QAコーナー・・・本編が長くなってしまったので、今回はお休みしました
■お知らせ・・・★★要チェック!Oracleセミナー情報!!
		○無料セミナーのご案内
		○Oracle管理ツール	○連載情報
		○書籍格安販売		○QAについて
■編集者より

■■注意事項!!■■
本文中にテーブルが含まれていますので、お読みになる際はMSゴシック等、
等幅フォントをお使いただくことをお勧めします。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ Oracle検証生活 ▼━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<フリーブロックに関する検証  その6>  ペンネーム  ちゃむ
前回に引き続きフリーブロックの領域をテーブルなどのオブジェクトが使用
するときの領域の割り当て方に迫ってみる。

1.minimum extentに関して<前回説明>
2.フリーブロックの断片をなるべく残さないような動き
3.フリーブロックをどのよう使うかを表わしたフローチャート<次回以降説明>

今回は、2の説明を行う。フリーブロックの断片をなるべく残さないような動
きとはいったいどのような動きであろうか?はじめに、検証結果からご覧いた
だきたい。

「オラクルは、5ブロック以下の空きエクステントを残さないように領域を割り
当てる。」
マニュアルでは、5ブロック未満とあるが、わたしが行なった検証では5ブロック
以下である。(バージョン7.3.2以上において検証実施)

では、さっそく、5ブロック以下の領域が残されないように割り当てる様子を見
てみよう。

/*フリーブロック105のテーブルスペースを領域を作る*/

create tablespace cre20 datafile
'../shome/share/cre20.ora' SIZE 212k
default storage (pctincrease 0);
(注意:データファイルの先頭には必ず1ブロックのヘッダーが存在する)

その領域にINITIAL 10ブロックのテーブルを10ブロック×9エクステントアロ
ケーションさせる。
create table cre20 (col1 number)  tablespace cre20 
storage(initial 20k next 20k pctincrease 0);

alter table cre20 allocate extent (size 20k);
alter table cre20 allocate extent (size 20k);
alter table cre20 allocate extent (size 20k);
alter table cre20 allocate extent (size 20k);
alter table cre20 allocate extent (size 20k);
alter table cre20 allocate extent (size 20k);
alter table cre20 allocate extent (size 20k);
alter table cre20 allocate extent (size 20k);
alter table cre20 allocate extent (size 20k);

では、dba_extentsビューを見てみよう。

SEGMENT_NAME  EXTENT_ID  BLOCK_ID  BYTES  BLOCKS
------------------------------------------------
CRE20         0          2         20480  10
CRE20         1          12        20480  10
CRE20         2          22        20480  10
CRE20         3          32        20480  10
CRE20         4          42        20480  10
CRE20         5          52        20480  10
CRE20         6          62        20480  10
CRE20         7          72        20480  10
CRE20         8          82        20480  10
CRE20         9          92        30720  15     ←注目

ここで、EXTENT_ID 9 BLOCK_ID 92のエクステントに注目していただきたい。
10ブロックアロケーションするはずのものが15ブロック割り当てられている。

create tablespace cre20 datafile
'../shome/share/cre20.ora' SIZE 214k
default storage (pctincrease 0);

上記のように106ブロックのフリーブロックのテーブルスペースを作ったら、
上記のdba_extentsはすべて10ブロック割り当てられた。
なぜなら6ブロック以上のフリーブロックはオラクルが断片化とは判断しない
ためだ。

では、本当にすべての場合においてそうなのか?
以下の2つの異なった条件で本当に5ブロック以下はフリーブロックを残さ
ないように動くかを検証する。

2_1.create tablespaceで空きスペースが5ブロック以下になるようなSIZE
を指定したとき
2_2.minimum extentを変更したとき

2_1.はあまり面白い検証ではないが、もしかしたら、5ブロック以下のテー
ブルスペースを作るとエラーが発生することもあるのではないかと思い、念の
ためにやってみた。結果は以下のとおりである。
以下に1ブロックから5ブロックのtablespaceを作った直後のdba_free_space
ビューを検索したものである。

TABLESPACE_NAME  BLOCK_ID  BYTES  BLOCKS
----------------------------------------
CRE1L            2         2048   1
CRE2L            2         4096   2
CRE3L            2         6144   3
CRE4L            2         8192   4
CRE5L            2         10240  5

結果は、上記のとおり特にエラーは発生せずに5ブロック以下のフリースペー
スは作れた。これは、例外的な結果としておさえていただきたい。

次に2_2.である。minimum extentはアロケーションする単位を決めるもので
ある。したがって、検証方法は、先程とほとんど同様で違いはminimum extentを
変更しただけである。

/*db_block_size=2kの環境
フリーブロックが105ブロックできるようにSIZE 212kでテーブルスペースを作成*/
create tablespace min0 datafile
'../shome/share/min0.ora' SIZE 212k
default storage (pctincrease 0);

create tablespace min1 datafile
'../shome/share/min1.ora' SIZE 212k
minimum extent 2k
default storage (pctincrease 0);

create tablespace min10 datafile
'../shome/share/min10' SIZE 212k
minimum extent 20k
default storage (pctincrease 0);
この後は、同様に、それぞれのテーブルスペースにinitial 10ブロック
のテーブルをつくり、alter table <テーブル名> allocate extent (size 20k); 
で9回エクステントをアロケーションさせる。結果は以下のとおりである。

やはり、それぞれ最後のアロケーションで15ブロック割り当てられている。
どれも、先程と同様の結果である。結果は載せていないが、先程と同様はじめ
にフリーブロックを106ブロックのテーブルスペースのときは、すべて10ブロ
ックずつ割り当てられ、11個目で割り当てれない状態になった。この検証から
「minimum extentがいくつかに関わらず、オラクルは、5ブロック以下の空きエ
クステントを残さないように領域を割り当てる。」といえる。

SEGMENT_NAME  TABLESPACE_NAME  EXTENT_ID  BYTES  BLOCKS
-------------------------------------------------------
MIN0          MIN0             0          20480  10
MIN0          MIN0             1          20480  10
MIN0          MIN0             2          20480  10
.......................................................
MIN0          MIN0             7          20480  10
MIN0          MIN0             8          20480  10
MIN0          MIN0             9          30720  15 ←どれも同様

MIN1          MIN1             0          20480  10
MIN1          MIN1             1          20480  10
MIN1          MIN1             2          20480  10
.......................................................
MIN1          MIN1             7          20480  10
MIN1          MIN1             8          20480  10
MIN1          MIN1             9          30720  15 ←どれも同様

MIN10         MIN10            0          20480  10
MIN10         MIN10            1          20480  10
MIN10         MIN10            2          20480  10
MIN10         MIN10            3          20480  10
.......................................................
MIN10         MIN10            7          20480  10
MIN10         MIN10            8          20480  10
MIN10         MIN10            9          30720  15 ←どれも同様

次回もminimum extentに関してもう少しだけ説明する。

以上  茅ヶ崎にて

〜フリーブロックに関する検証 その6〜
by  ちゃむ


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ QAコーナー ▼━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
本編が長くなってしまったので、今回はお休みさせていただきます。
よろしくお願いします。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ Oracle8 プロフェッショナルテクニック セミナー ▼━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
昨年開催され大好評を博した上記のセミナーが、皆様からのラブコールに
お応えして再び開催されます。

「今回は新たにOracle DBAとして現場で活躍しようとしているような
フレッシュな方を対象にベーシックな部分に力を入れたセミナーを開きたい」
という講師を務める小幡の言葉にもありますように、Oracle DBAをこれから
目指す方々にわかりやすい言葉で丁寧なセミナーを行います。
テキストとして使われるのは、同名の既刊本(HPにて発売中)。著者による
解説を加えて読み解くことができるので、さらに理解が深まるはずです。

「わたしもこの本を解説してもらってSKILL UPしたんですよ。」(うさぎ談:
月刊DB Magazine誌「DBAのお仕事」で活躍中!)という例もあるように、
有意義なセミナーになること間違いなし!この機会にぜひご参加ください。
お申し込みは以下のURLにて承っています。

http://www.insight-tec.com/jp/topics/semi_information1.html


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ 無料セミナーのご案内 ▼━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<Oracleプロフェッショナルが教えます!!
				Oracleシステム運用管理のポイント>
来る6月9日に上記の無料セミナーが開催されます。
今後更に増加してゆくであろう大規模Oracleシステムの運用のコツをご説明
すると共に、運用を支援するツールをご紹介させていただきます。
有意義な内容のセミナーに無料で参加できるチャンスをどうぞお見逃しなく。
詳細およびお申し込みは以下のURLにて承っています。

http://www.insight-tec.com/jp/topics/semi_information2.html


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ Oracle 管理ツール▼━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Oracleを知り尽くしたメンバーが開発したOracleパフォーマンス監視ツール
の決定版。インサイトテクノロジーの技術者の知恵とノウハウがここに結集!
パフォーマンス監視だけでなくOracleを使用しているシステムの運用、管理、
そして開発にも役立つ機能がいっぱいです。
詳しくは以下のURLをご覧ください。

http://www.insight-tec.com/jp/products/products.html

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ 連載情報 ▼━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<雑誌連載:体験的・DBAのお仕事(DB Magazine(翔泳社))>
Oracleのエキスパートとして定評のある弊社のスタッフが執筆しております
連載記事です。Oracle関連業務に携わる方、是非ご一読ください。
7月号が本日発売されます。。

http://www.insight-tec.com/jp/topics/magazine.html
上記のURLで各回のタイトルがご覧になれます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ 書籍格安販売 ▼━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<1割引&送料無料>
好評をいただいております既刊本「Oracle8 プロフェッショナルテクニック」
を弊社のHPよりお申し込みいただいた方に限り、1割引&送料無料でご提供いた
します。(先にご紹介した「Oracle8 プロフェッショナルテクニック」
セミナーに参加される方は、こちらでご購入された方がお得です。)

専門書としては異例の速さで増刷が決定するほどの好評をいただいている
「Oracle8 プロフェッショナルテクニック」をお得に入手するチャンスです。
この機会をお見逃しなく!

http://www.insight-tec.com/jp/topics/books.html
ホームページより受付中です。お早めに!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ QAについて ▼━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<皆様からのQAを受付けております>
皆様のQAにはできるだけ、お答えしたいと思っています。
すべてのQAにお答えすることはできないかもしれませんが、
適宜メルマガ内でとりあげていく予定ですので、是非QAをお寄せください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ 編集者より ▼━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1000円札を使用して自販機で買い物をした時に、おつりに変造硬貨が出てきて
しまったらどうすればいいんでしょう?警察に届けたらお金(500円)は戻っ
てくるんでしょうか?多分戻ってこないですよね?使わないと500円損するこ
とになるような気もするけれど、それを使って自販機で買い物をしたら、その
時点で犯罪者なんでしょうか?みなさんならどうします??
							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.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 メールマガジン登録/解除