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したときスペースが開放させて、 空スペース...