ブロック、エクステント、セグメント

データブロック

データブロックとは、データベースで管理するデータの最小単位、論理データベース記憶域(※) の最小単位:第 1 レベルである。
(※) Oracleによって管理されるもので OS では認識できない論理構造 ⇔ 物理構造

  • データブロックサイズは、テーブルスペースを作成時にブロックサイズの指定が可能(作成後の変更は不可能)。
  • ブロックサイズは 2K バイト 〜 32K バイトまで。( 2K、4K、8K、16、32K )
    OS のブロックサイズ以上で、その倍数であること。32K バイトは一部の 64bitOS に限定される。
    関連事項 ⇒ マルチブロックサイズ Oracle 9iデータブロックサイズの選定
 

データブロックの中身(テーブル)

分類要素関連パラメータ
ブロックヘッダ共通ヘッダKCBH
固定トランザクションヘッダKTBBH
可変トランザクションヘッダKTBIT×(INITRANS-1)
データヘッダKDBH
表ディレクトリKDBT
行ディレクトリ 
空き領域PCTFREE
トランザクションスロット(⇔Itl)MAXTRANS
データ領域PCTUSED
トランザクションスロット(⇔Itl)MAXTRANS
ターミネータUB4
(オーバヘッドの合計)90+24×(INITRANS-1)(Pentium + Linux)

データ領域の関連事項

エクステント

エクステントは、データベースの記憶割り当てにおける論理単位(記憶域の第 2 レベル)
単一のデータファイルの連続したデータブロックで構成される。(このレベルでは、まだデータファイル間をまたげない。)
エクステントの先頭のブロックには、エクステントのディレクトリが格納される。

セグメント

セグメントはエクステントの集合(記憶域の第 3 レベル)
セグメントは1つ以上のエクステントから構成される。
表領域内のオブジェクトのデータがすべて入っている。
複数のデータファイルで構成されたエクステントを同一セグメントにて利用可能。

セグメントの種類

データ・セグメント

パーティション化またはクラスタ化されていない表
パーティション表のパーティション
表のクラスタ

索引・セグメント

インデックス

一時・セグメント

一時的な作業領域、ソート処理、結合処理などに使われる(テンポラリ)

ロールバック・セグメント(UNDO 管理表 Oracle 9i)

ロールバックセグメント

タイプパラメータ

ブロックを構成する要素のサイズは、以下の SQL にて取得できる。

SELECT * FROM V$TYPE_SIZE
 WHERE TYPE IN ('KCBH', 'KTBBH', 'KTBIT','KDBH', 'KDBT', 'UB4');
タイプ名説明サイズ(バイト:Intel x86 + Linux)
KCBHBLOCK COMMON HEADER20
KTBBHTRANSACTION FIXED HEADER48*1
KTBITTRANSACTION VARIABLE HEADER24
KDBHDATA HEADER14
KDBTTABLE DIRECTORY ENTRY4
UB4UNSIGNED BYTE 44


関連事項

  • MINEXTENTS 表領域 ストレージパラメータ
スポンサード リンク

ITエンジニア キャリアアップ・転職・求人情報

Oracle & IT技術者 専門書

やさしいOracle PL/SQL入門 (DB Magazine SELECTION)
価格: 2,310 円 (税込)
新品/ユーズド価格: 700 円 より
バージョンとコンディション情報に注意
リリース: 2002-06
ユーザーレビュー: 7 件

Oracleバックアップ・リカバリ実践テクニック 改訂新版
価格: 2,940 円 (税込)
新品/ユーズド価格: 2,300 円 より
リリース: 2007-09

採用される履歴書・職務経歴書はこう書く<実例付き>
価格: 1,365 円 (税込)
新品/ユーズド価格: 398 円 より
バージョンとコンディション情報に注意
リリース: 2003-06-19
ユーザーレビュー: 11 件

日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ 会員制(無料)の公式技術サイト
Google

*1 初期サイズとして2スロット予約されている:KTBIT(24)×2=48