COL: CSS:



論理的な領域

論理的な領域

表領域の構成要素

Oracle Database を物理的に見た場合,制御ファイル / REDO ログファイル / データファイルという主な 3 つのファイルで構成されている。

データファイルは表領域に格納される。表領域とは論理的なデータ管理を可能にする仕組みで,バックアップの単位としても利用可能である。1 つのデータファイルは,1 つの表領域にのみ対応付けられる。また,1 つの表領域は 1 つ以上のデータファイルで構成される。

/* Fig090101: 表領域の構成 */

┌─ 表領域 ────────────────────┐
|                                                  |
|┌─ データファイル ─┐  ┌─ データファイル ─┐|
||                    |  |                    ||
||┌ 表 obj ────┐|  |┌ 表 obj ────┐||
|||                ||  ||                |||
||└────────┘|  |└────────┘||
||┌ 表 obj ─────────────────┐||
|||                                          |||
||└─────────────────────┘||
||┌ 索引 obj ┐      |  |┌ 索引 obj ┐      ||
|||          |      |  ||          |      ||
||└─────┘      |  |└─────┘      ||
||  :                |  |  :                ||
|└──────────┘  └──────────┘|
└─────────────────────────┘
* オブジェクトは同表領域内のデータファイルにまたがることもある。

論理的な表領域をさらに論理的に分類すると,下記のように呼ばれる。

表領域
1 つの Oracle Database に属し,1 つ以上のデータファイルが格納されている。
セグメント
オブジェクトに割り当てられる領域。1 つのセグメントは 1 つのオブジェクトに格納され,同表領域内のデータファイルにまたがることもある (すなわち,表領域をまたがることはあり得ない)。
エクステント
セグメントに割り当てられる領域。1 つのエクステントは 1 つのセグメントに格納される。
データ・ブロック
論理データベースの最少レベル。1 つのデータ・ブロックは,ディスク上の特定のバイト数の物理データベース領域に対応し,サイズは 2KB / 4KB / 8KB / 16KB / 32KB が存在する。標準ブロック・サイズは DB_BLOCK_SIZE 初期化パラメータで指定する。また,非標準のブロック・サイズを 5 つまで指定できる。

定義済み表領域

Oracle Database 構築時には,以下のような表領域が自動的に作成される。

Table.090101: 定義済み表領域一覧
表領域名称詳細
EXAMPLEサンプル・スキーマ,およびサンプル・スキーマで用いられる例示用データが格納される。
SYSTEM必須表領域。データディクショナリとデータベースの管理情報を含む表が格納される。
SYSAUXデータベース作成時に,SYSTEM 表領域の補助表領域としてインストールされる。※ SYSAUX 表領域に障害等が発生して使用不可になっても,データベースの主要な機能は実行可能である。
TEMP照会検索時のソート用セグメントなど,SQL 文実行時に生成する一時データが格納される。事前構成済データベースでは,TEMP 表領域がデフォルトの一時表領域として指定される。※ ユーザ・アカウント作成時に一時表領域を指定しない場合は,この領域が Oracle によって一時表領域として該当ユーザに割り当てられる。
UNDOTBS1UNDO 情報の格納に使用される表領域。
USERS永続ユーザ・オブジェクト,および該当ユーザ・データの格納に使用される。事前構成済データベースでは,USERS 表領域がデフォルトの表領域として割り当てられ,システム・ユーザ以外のユーザが作成した全オブジェクトが USERS 表領域から領域を確保する。※ システム・ユーザのデフォルト永続表領域は SYSTEM。

表領域の領域管理

表領域はエクステント単位で領域を割り当てる。ある表領域において,空き領域なのか使用済領域なのかを追跡する方法に違いがあり,以下の 2 タイプの表領域に分けられる。※ 表領域作成時にエクステント管理方法を指定しない場合は,ローカル管理がデフォルトとして選ばれる。

ディクショナリ管理表領域
SYSTEM 表領域にあるデータ・ディクショナリによるエクステント管理方法。
ローカル管理表領域
自身の表領域による (つまりローカルな) エクステント管理方法。