ビッグファイル表領域(BFT:Bigfile Tablespace)
Bigfile Tablespaceの概要
- データファイルは一つしかありません。データファイル追加操作は必要がなくなりました。
- 最大サイズはOracle block sizeによって8TB~128TBになります。
- BTF表領域は論理的にデータファイルと同等になります。
- 同じDBにはBigfile Tablespaceと"Smallfile Tablespace"が共存できます。
- 管理作業は容易になります。
- BFTはローカル自動管理表領域しかサポートしません。
- ロジカルボリュームマネージャー或いはASMでBFTを使います。
Bigfile Tablespaceの作成及び管理
EMを用いて作成:管理タグ→記憶域セクション・表領域→作成ボタン
CREATE BIGFILE TABLESPACE
CREATE BIGFILE TABLESPACE bigtbs DATAFILE '/u02/oracle/data/bigtbs01.dbf' SIZE 50G
※ SIZEは、キロバイト(KB)、メガバイト(MB)、ギガバイト(GB)またはテラバイト(TB)で指定できます。
CREATE DATABASE … SET DEFAULT BIGFILE TABLESPACEによるデータベース表領域デフォルトタイプの設定
データベース作成時にデフォルトの表領域タイプをBIGFILEに設定している場合は、CREATE TABLESPACE文にBIGFILEキーワードを指定する必要はありません。この場合、大型ファイル表領域はデフォルトで作成されます。
データベース作成時にデフォルトの表領域タイプをBIGFILEに設定しておきながら、従来の表領域(小型ファイル)を作成する場合は、CREATE SMALLFILE TABLESPACE文を指定すると、デフォルトの表領域タイプよりも作成する表領域が優先されます。
ALTER TABLESPACE:大型ファイル表領域使用時におけるデータ・ファイルの透過性をサポートします。
ALTER TABLESPACE bigtbs RESIZE 80G;
ALTER TABLESPACE bigtbs AUTOEXTEND ON NEXT 20G;
※ 大型ファイル表領域に対してADD DATAFILE句を指定すると、エラーが発生します。
BFTによるデータディクショナリー変更
DATABASE_PROPERTIES:データベース表領域デフォルトタイプ確認
SQL> select property_value from database_properties where property_name = 'DEFAULT_TBS_TYPE';
PROPERTY_VALUE
----------------------------------------------------------------------------------------------------
SMALLFILE
SQL>
DBA_TABLESPACESとV$TABLESPACEにBIGFILEカラムを追加
SQL> select tablespace_name,bigfile from dba_tablespaces;
TABLESPACE_NAME BIGFILE
------------------------------------------------------------------------------------------ ---------
SYSTEM NO
UNDOTBS1 NO
SYSAUX NO
TEMP NO
USERS NO
SQL> select name,bigfile from v$tablespace;
NAME BIGFILE
------------------------------------------------------------------------------------------ ---------
SYSTEM NO
UNDOTBS1 NO
SYSAUX NO
TEMP NO
USERS NO
BFTのROWIDフォーマット
従来のROWID:OOOOOOFFFBBBBBBRRR
バイト | 定義 |
---|---|
OOOOOO | the data object number that identifies the database segment |
FFF | the tablespace-relative data file number of the data file that contains the row |
BBBBBB | the data block that contains the row. |
RRR | is the slot number identifying the row inside a particular block |
BFTのROWID:OOOOOOLLLLLLLLLRRR
バイト | 定義 |
---|---|
OOOOOO | the data object number that identifies the database segment |
LLLLLLLLL | Encoded block number |
RRR | is the slot number identifying the row inside a particular block |
page revision: 21, last edited: 24 Feb 2009 16:04