ALTER TABLE > ALTER TABLE <プロパティ> > ALTER TABLE <エクステント割り当てと解放>

ALTER TABLE <エクステントの割り当てと解放> の実行

テーブルのエクステントの事前獲得によって 論理記憶域構造の断片化 の抑止やファイルのサイズ管理を行なう。

ALTER TABLE <alter_table_properties - allocate_extent_clause>

表のエクステントをマニュアルで確保する。

  • ALTER TABLE table_name ALLOCATE EXTENT
       ( [ KEEP size ] [ DATAFILE 'file_spec' ] [ INSTANCE integer ]] )

ALTER TABLE 〜 ALLOCATE EXTENT SIZE

指定サイズのエクステントの追加

my_table に 1 テラバイト分の新規エクステントを確保する。データファイルが複数ある場合にはオラクルが選定する。
ファイルサイズの単位は [ K | M | G | T | P | E ] が使用可能。(Oracle 11g R2 時点)

ALTER TABLE my_table ALLOCATE EXTENT ( SIZE 1T ) ;

ALTER TABLE 〜 ALLOCATE EXTENT DATAFILE

使用するデータファイルを指定したエクステントの確保。

my_table に 512 メガバイト分のエクステントをデータファイル /mydir/user001.dbf 上に追加する。

ALTER TABLE my_table ALLOCATE EXTENT ( DATAFILE '/mydir/user001.dbf' SIZE 512M ) ;

ALTER TABLE 〜 DEALLOCATE UNUSED

表のエクステントで ハイウォータマーク (HWM) を超過している未使用部分を解放する。

サイズを指定しなかった場合には HWM 、INITIAL、MINEXTENTS の設定値によって最も高い位置までを解放する。
サイズを指定し、そのサイズが INITIAL または MINEXTENTS を下回って実行完了した場合には INITIAL および MINEXTENTS は書き換えられる。

解放されたエクステントは表領域に戻され、他のセグメントからも再利用可能な状態になる。

  • ALTER TABLE table_name DEALLOCATE UNUSED [ KEEP size ]

my_table の データセグメント を 512 メガバイトにまで縮退させる。

ALTER TABLE my_table DEALLOCATE UNUSED KEEP 512M ;


 

関連事項

ALTER TABLE <エクステント割り当てと解放>の関連トピックス

日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ Oracle のライセンスがわからない…
Oracle Direct (ネットで聞いても最後はここで要確認)