Insight Technology, Inc

インサイトテクノロジー

Japanese | English

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

いよいよゴールデンウィークに突入!来週水曜日は祝日なので
「おら!オラ! Oracle」もお休みします。悪しからずご了承ください。
次回は5月10日の配信となります。

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

<<目次>>
■Oracle検証生活・・・フリーブロックに関する検証 その3
■QAコーナー・・・1.PCTINCREASEについて
		 2.RAID5の構成について
■お知らせ・・・★★要チェック!Oracleセミナー情報!!
		○Oracle管理ツール	○セミナー案内
		○連載情報		○書籍格安販売
		○QAについて
■編集者より

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

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ Oracle検証生活 ▼━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<フリーブロックに関する検証  その3>  ペンネーム  ちゃむ

前回に引き続き、フリーブロックの検証をおこなう。コアレスをおこなうのは、
以下のタイミングである。
1.alter tablespace <テーブルスペース名> coalesce を発行したとき。
2.5分に一回smonが自動的に
(テーブルスペースのpctincrease 0以外を設定したテーブルスペースのみ)
3.pctincrease 0に設定したかしないに関わらず、コアレスしないとエクステン
トを割り当てる空領域が足りないとき

前回までに、1.2.に関して説明した。
今回は3.に関して検証を交えながら説明する。
3.を検証するために物理的に連続する20ブロックのフリーブロックを10個準
備した。これは、フリーブロック20ブロックごとにエクステント境界があるイ
メージである。

以下に、フリーブロックの状況を把握するSQL文とその結果を示す。フリーブ
ロックの状況を把握する際に用いるのがDBA_FREE_SPACEビューである。

SELECT TABLESPACE_NAME,BLOCK_ID,BYTES,BLOCKS 
>FROM DBA_FREE_SPACE WHERE TABLESPACE_NAME='CRE20'
ORDER BY BLOCK_ID;

TABLESPACE_NAME  BLOCK_ID  BYTES  BLOCKS
----------------------------------------
CRE20            2         40960  20
CRE20            22        40960  20
CRE20            42        40960  20
CRE20            62        40960  20
CRE20            82        40960  20
CRE20            102       40960  20
CRE20            122       40960  20
CRE20            142       40960  20
CRE20            162       40960  20
CRE20            182       40960  20

物理的に連続しているのを判断できるのは、BLOCK_ID+BLOCKSが次の行のBLOCK_ID
になっているからである。
(例 1行目のBLOCK_ID=2 + BLOCKS=20が次の行のBLOCK_ID=22)

この状態で、create tableでinitial 30ブロック作るとフリーブロックの状態
は次のようになる。(db_block_size=2kならINITIAL 60kを指定)

TABLESPACE_NAME  BLOCK_ID  BYTES  BLOCKS
----------------------------------------
CRE20            2         40960  20
CRE20            52        20480  10 (BLOCK_ID 22〜51までをINITIALとして確保)
CRE20            62        40960  20
CRE20            82        40960  20
CRE20            102       40960  20
CRE20            122       40960  20
CRE20            142       40960  20
CRE20            162       40960  20
CRE20            182       40960  20

この結果より、BLOCK_ID  22と42のエクステントをコアレスして、40ブロックの
空領域を作って、30ブロックのエクステントを表に確保した様子がわかる。
BLOCK_ID 52には10ブロックの空領域があるところから読み取れるだろう。
また、注目していただきたいのは、TABLESPACEすべてをコアレスしているのでは
なく、必要最低限のものだけ、つまり近隣エクステントをコアレスしている点で
ある。この状態でテーブルスペース全体のコアレスをするコマンドである
ALTER TABLESPACE <テーブルスペース名> COALESCE;をおこなうとどうなるであろ
うか。

TABLESPACE_NAME  BLOCK_ID  BYTES   BLOCKS
-----------------------------------------
CRE20            2         40960   20
CRE20            52        307200  150

BLOCK_ID  22から51の30ブロック分のテーブルが作成されたので、フリーブロ
ックが物理的に分断された様子が分かると思う。このことからいくらコアレス
しても、物理的に隣り合っていないフリーブロックは合体しないということが
わかる。

通常なら5分おきにsmonが行なっているコアレスの処理は一瞬で終了するが、
ひっきりなしにコアレスを行なっているサイトを見たことがある。大きいテー
ブルのtruncate処理やdrop table処理が多いサイトである。ひっきりなしにコ
アレスするということは、インスタンスに一つしか存在しないSTエンキューが
常に待ちの状態を繰り返す状態である。そのようなサイトではテーブルスペー
スにpctincrease 0を指定して、smonにコアレスさせないのもシステム全体の
負荷を削減するための一つの手である。
それが一つの手になりうるのは、今回のpctincrease 0に設定したかしないに関わ
らず、必要なとき内部的に近隣エクステントをコアレスする処理が備わっているか
らである。

以上  茅ヶ崎にて

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


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ QAコーナー ▼━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☆★Question1★☆
>テーブルの増分率(PCTINCREASE)が変化することで、領域管理が難しくなる、
>あるいは簡単になるというような事実はあるのでしょうか?

☆★Answer&Advice★☆
(以下の回答は、テーブルに指定するpctincreaseに対するもので、コアレスに
関連するテーブルスペースのpctincreaseではありません。)

テーブルの増分率を変化させること、つまりpctincrease=50などを指定すること
は、2つの側面があると思います。一つ目は、エクステントの指数倍数的な拡張
により、テーブルスペースの領域管理がしづらくなること。二つ目は、テーブル
スペースのフリーブロックの断片化が起こりやすい(再利用できない部分が増え
る)ということです。領域管理を考えていく上で、1つのテーブルだけでなく、
テーブルスペース単位で考えなければならないというのを前提にしてください。


<エクステントの指数倍数的な拡張>

一般論を言うと、増加するデータ量が予想できないときに、テーブルの
pctincreaseを50などにし、逆に予想できるときに、pctincreaseを0にします。
売り上げ実績を格納するトランザクションテーブルなどは、予想できない
ケースもあると思います。
以下に実際にpctincrease=50を指定してテーブルを作った時の領域の割り当
てを見てみましょう。

db_block_size=2kの環境

create table cre1 (col1 number)
storage(initial 100k next 100k pctincrease 50 minextents 10);

dba_extentsを参照

SEGMENT_NAME  EXTENT_ID  BLOCKS
--------------------------------------------------------------
CRE1          0          50    
CRE1          1	         50    
CRE1          2	         75    
CRE1          3	         115   
CRE1          4	         170   
CRE1          5	         255   
CRE1          6	         385   
CRE1          7	         575   
CRE1          8	         865   
CRE1          9	         1295  

次のエクステントを割り当てる計算は、単純に1.5を掛け算したものと結果が
違いますね。ここで書かれているエクステント割り当て数の計算方法の詳細は
「その5」の記事の中で説明しますが、ここで注目していただきたいのは、は
じめ50ブロックを割り当てた表も10回目のエクステントのアロケーションでは、
1295ブロックにも及んでしまっています。しかし、データ量が予想できなけれ
ば、常に50ブロックを割り当てていると、すぐにmaxextentsまで達してしまい
ます。

ORACLE7.3以降ではmaxextentsをunlimitedに設定できるようになりましたが、
エクステントをたくさん発生させると、パフォーマンスの面で劣化が生じてき
ます。このような場合は、pctincreaseを50などに指定したほうがよいでしょう。
でも、領域管理はしづらいですね。これは、仕方ないことです。すべては、デー
タ量が予想できないために生じてしまっている問題ですから。
一番の理想は、initialにすべておさまっているのが良いのですが、そうはいかな
い場合も多々あるでしょう。

<テーブルスペースのフリーブロックの断片化>

pctincrease=0にすると、DROP TABLE、CREATE TABLE、TRUNCATE TABLEなどが頻繁
に行われるときテーブルスペース上で領域の再利用が効率良く行われる点でしょう。
それは、pctincreaseを0にすると、NEXTが常に一定になり、エクステントの割当て、
解放が同じ大きさになるからです。但し、あくまでもテーブル単位なので、他のテ
ーブルのNEXTと違うときには、テーブルスペース全体としては、必ずしも効率が良
いとはいえません。他にもテーブルがあるときは、領域管理の面から見れば、エク
ステントのサイズは、テーブルスペースの中のすべてのテーブルでINTIAL,NEXTと同
じか、その倍数の方が、断片化が少なくなります。
このようにpctincreaseを0にしただけで、効率良く領域管理をできるというわけでは
ありません。

領域管理の問題を解決する一つの方法として、ORACLE8からテーブルスペースに指定
するもので、minimum extentというもが登場しました。
「その4」の記事ところで説明しますので、そのときまた、領域管理について
考えましょう。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☆★Question2★☆
>Oracleのパフォーマンスを上げるためには、RAID5の構成をどのようにすれば
>良いのでしょうか?DBは、主に参照時のレスポンスを重視しており、
>Insert、Update時のパフォーマンスは気にしません。

☆★Answer&Advice★☆
Insert、Update時のパフォーマンスは気にしないというのであれば、オラクルの
DATAFILEやCONTROLFILEなどは、RAID5上に置いてもかまいません。(書き込みパ
フォーマンスが重要なときはRAID5に置くことは、お勧めできません。)
但し、REDOログファイルだけは、RAID5上に置かないで下さい。REDOログファイルは、
「シーケンシャルライト」であり、「REDOログファイル以外他に使っていないディス
ク」であれば、ディスクの「シーク・オーバーヘッド」をなくすことができます。
ですので、REDOログファイルだけは、独立型ディスクにおいて下さい。

なお、非常にタイムリーなことに、DB Magazine(翔泳社) 6月号の「体験的・
DBAのお仕事」(157ページから161ページ)でRAID構成とデータベースの関係が
取り上げられてていますのでご参照いただければと思います。
また、弊社著書 「ORACLE8  プロフェッショナルテクニック」P332 (ソフトリ
サーチセンター ) にも、書かれていますのでご参照ください。


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

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

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

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

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

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

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ 無料セミナー案内 ▼━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
次回の無料セミナーは、4月28日に開催いたします。
特別セミナーとして、日経オープンシステムに連載された中から
「REDOログの仕組み」について、弊社のデータベース・コンサルタントが
わかりやすくご説明させていただきます。

http://www.insight-tec.com/jp/topics/semi_information.html
インサイトテクノロジーのホームページより申し込み受付中です。

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

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をお寄せください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ 編集者より ▼━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Weeklyまぐまぐにもありましたが、わたしも「廻船問屋」を「海鮮問屋」
だと思っていました。ショック!こういう思い違いってたくさんありますよね。
Oracleに関しても、きっとたくさんの思い違いをしてるんだろうなあ。
そういう思い違いをこのメルマガで発見してくれたらうれしいです。
それにしても廻船だとは...。			 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.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

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