May17
フリーブロックに関する検証 その5
<フリーブロックに関する検証 その5> ペンネーム ちゃむ
前回に引き続き、フリーブロックの領域をテーブルなどのオブジェクトが使用
するときの領域の割り当て方に迫ってみる。
1.minimum extentに関して
2.フリーブロックの断片をなるべく残さないような動き<次回以降説明>
3.フリーブロックをどのように使うかを表わしたフローチャート
<次回以降説明>
1.の説明を引き続きおこなう。もし、minimum extentをcreate tablespace
のときに指定しなかったらdefault 0になる。このときの動きを見ていこう。
db_block_size=2kの環境でテーブルスペースTESTをminimum extent指定なしで
つくり、dummy1というテーブルを
テーブルスペースTESTにINITIAL 2K(1ブロック)で作成し...
May10
フリーブロックに関する検証 その4
<フリーブロックに関する検証 その4> ペンネーム ちゃむ
今回はフリーブロックの領域をテーブルなどのオブジェクトが使用するときの
領域の割り当て方にさらに迫ってみる。では、以下の内容に関して順番に説明
しよう。
1.minimum extentに関して
2.フリーブロックの断片をなるべく残さないような動き<次回以降説明>
3.フリーブロックをどのように使うかを表わしたフローチャート
<次回以降説明>
では1.に関して説明する。minimum extentとは簡単にいうと領域管理の単位
をそこで指定したバイト単位で、つまりはブロック単位でおこなうために使用さ
れる。これは、8.0からのバージョンで使用できるようになったものである。
(1) 具体的な例で見ていこう。
以下は、create tablespaceをおこなうときにバイト単位で指定するもので...
Apr26
フリーブロックに関する検証 その3
<フリーブロックに関する検証 その3> ペンネーム ちゃむ
前回に引き続き、フリーブロックの検証をおこなう。コアレスをおこなうのは、
以下のタイミングである。
1.alter tablespace <テーブルスペース名> coalesce を発行したとき。
2.5分に一回smonが自動的に
(テーブルスペースのpctincrease 0以外を設定したテーブルスペースのみ)
3.pctincrease 0に設定したかしないに関わらず、コアレスしないとエクステン
トを割り当てる空領域が足りないとき
前回までに、1.2.に関して説明した。
今回は3.に関して検証を交えながら説明する。
3.を検証するために物理的に連続する20ブロックのフリーブロックを10個準
備した。これは、フリーブロック20ブロックごとにエクステント境界があるイ
メージである。...
Apr19
フリーブロックに関する検証 その2
<フリーブロックに関する検証 その2> ペンネーム ちゃむ
~~~~ 読者からの質問 ~~~~
読者の「きょん」さんからコアレスは自動発行されるのか?
Oracle のバージョンで動きは異なるのか?
という質問を受けました。今回の記事を読めば、理解していただけると思います。
~~~~~~~~~~~~~~~~
前回に引き続き、フリーブロックの検証をおこなう。コアレスをおこなうのは、
以下のタイミングである。
1.alter tablespace <テーブルスペース名> coalesce を発行したとき。
2.5分に一回smonが自動的に
(テーブルスペースのpctincrease 0以外を設定したテーブルスペース)
3.pctincrease 0に設定したかしないに関わらず、コアレスしないとエクス
テントを割り当てる空領域が足りないとき
...
Apr12
フリーブロックに関する検証 その1
<フリーブロックに関する検証 その1> ペンネーム ちゃむ
「コアレス(coalesce)の動きを教えてほしい」、
「フリーブロックは、どのように確保されて、
どのようにしてテーブル等の領域として使われるのか」
というような質問が弊社に寄せられた。また、実際のサポート業務の中で尋ね
られることも少なくない。そこで、密接に関係するこれらを検証を交えながら
説明しようと思う。
まずは、「コアレス」から説明するが、一言でいってしまうと、空スペースの
フラグメンテーションを合体させる機能のことで、通常であれば、SMONが5分
ごとに自動的におこなう(以前は2時間ごとであった)。空スペースのフラグメ
ンテーションというのは、具体的に言うと、例えば物理的に隣り合って存在し
ていた10MのテーブルAと20MのテーブルBをDROPしたときスペースが開放させて、
空スペース...