ORACLEMASTER 備忘録6(4/11)
続き
セグメント:
表や索引、UNDOセグメントなどのデータベースオブジェクトによって使用される領域。
一つのオブジェクトが一つのセグメントとなる。
セグメントには、データの種類によっていろいろなタイプがある。例えば、表は「表セグメント」、索引は「索引セグメント」。一つのセグメントは、同じ表領域内であれば“複数のデータファイルにまたがることが可能”。
セグメントの領域は「エクステンス単位」で割り当てられ、割り当てられたエクステントが満杯になったら、そのセグメントに対して新しいエクステントが割り当てられる。
エクステント;
1回の割り当てで取得される“特定数の連続したデータブロック”。
エクステントのサイズは“表領域の作成時”に指定できる。一つのエクステントは“データファイルをまたぐことができない”。
データブロック:
I/Oの最小単位。データブロックには“データ”が格納される。オブジェクトが表であれば、一つのデータブロックに“複数の行”を格納できる。
データブロックのサイズは、“データベース作成時”に指定できるが、事前構成済みのデータベースを選択した場合は、データブロックのサイズは“8K”で固定され、変更できない。
事前構成済みのデータベースの表領域
インストール時に作成した「事前構成済みのデータベース」には、作成時点で次の表領域が自動的に作成されるため、表領域を追加しなくともデータベースを稼働できる。また、この状態からさらに表領域を追加するなどしてカスタマイズすることも可能。
SYSTEM:
データベース作成時に自動的に作成される表領域。Oracleデータベースシステムが“データベース管理情報”を格納するために使用する。※“データディクショナリ”はこの表領域に格納される。SYSTEM表領域内のオブジェクトは“SYSスキーマ”に存在するため、SYSユーザーまたは必要な権限を持つ管理者ユーザーしかアクセスできない。
SYSAUX:
SYSTEM表領域の“補助表領域”。データベース作成時に自動的に作成される。Oracle Database 9i以前では、一部のコンポーネントや製品でSYSTEM表領域や専用の表領域が使用されていたが、これらのコンポーネントや製品は、現在はSYSAUX表領域を使用している。SYSAUX表領域が実装されたことでSYSTEM表領域の負荷が削減され、監視及び管理しなくてはならない表領域が少なくなったため、メンテナンスの負荷が軽減された。
TEMP:
データベースには、ユーザーに割り当てられる“一時表領域”を作成しておく必要がある。事前構成済みのデータベースではTEMP表領域が“デフォルトの一時表領域”(ユーザーアカウント作成時に一時表領域が明示的に指定されていない場合にユーザーに割り当てらる表領域)として指定されている。
一時表領域には、ソート処理のデータといった、セッション中にのみ存在する、SQL文の処理中に生成された“一時的なデータ(一時セグメント)”が格納される。
UNDOTBS1:
Oracleデータベースシステムが“UNDOデータ保存”に使用する表領域。データベースの作成時に作成される。UNDO表領域はすべてのデータベースに必要。
USERS:
ユーザーが作成するオブジェクトを格納するための表領域。事前構成済みデータベースでは、USERS表領域がすべての新しいユーザーのデフォルト領域に指定される。
EXAMPLE:
DBCAの中で「サンプルスキーマを作成する」チェックボックスにチェックを入れると作成される表領域。様々なサンプルデータが格納される。
※データディクショナリとは、データベースのすべての管理情報を読み取り専用で参照できる表とビューをまとめたもの。