ALTER TABLESPACE

ALTER TABLESPACEは、既存の表領域(テーブルスペース)を変更するSQL文である。

表領域の名前を変更する

既存の表領域の名前を変更するには、ALTER TABLE文にRENAME TO句を指定する。

ALTER TABLESPACE oldname RENAME TO newname
oldname
名前を変更する表領域
newname
表領域の新しい名前

表領域にデータファイルを追加する

既存の表領域にデータファイルを追加するには、ALTER TABLE文にADD DATAFILE句を指定する。

ALTER TABLESPACE name
  ADD DATAFILE filename
  SIZE initialsize
  AUTOEXTEND [ON|OFF]
  NEXT nextsize
  MAXSIZE maxsize
name
データファイルを追加する表領域
filename
追加するデータファイルのファイル名

データファイルを追加する例を示す。

ALTER TABLESPACE USERS ADD DATAFILE '/u01/app/oracle/oradata/orcl/users02.dbf' SIZE 10M

表領域のデータファイルを削除する

表領域のデータファイルを削除するには、ALTER TABLE文にDROP DATAFILE句を指定する。

ALTER TABLESPACE name DROP DATAFILE filename
name
データファイルを削除する表領域
filename
削除するデータファイルのファイル名

データファイルを削除する例を示す。

ALTER TABLESPACE tblspc01 DROP DATAFILE 'tblspc01.dbf'

表領域の自動拡張を使用可能にする

BIGFILE表領域内のデータファイルに対して、自動拡張を使用可能にする。

ALTER TABLESPACE example AUTOEXTEND ON

自動拡張の増分は、1データブロックのサイズとなる。

自動拡張のサイズを指定する

自動拡張の増分サイズをNEXT句で具体的に指定することもできる。エクステントがさらに必要になった場合、データファイルに自動的に割り当てられるディスク領域のサイズをバイト数で指定する。

単位としてK(キロ)、M(メガ)、G(ギガ)、T(テラ)、P(ペタ)又はE(エクサ)を指定することもできる。

ALTER TABLESPACE example AUTOEXTEND ON NEXT 10M

自動拡張の最大サイズを指定する

データファイルの自動拡張で使用されるディスク領域の最大サイズをMAXSIZE句で指定することもできる。

ALTER TABLESPACE example AUTOEXTEND ON NEXT 10M MAXSIZE 50M

データファイルの自動拡張で使用されるディスク領域の最大サイズをバイト数で指定する。単位としてK(キロ)、M(メガ)、G(ギガ)、T(テラ)、P(ペタ)又はE(エクサ)を指定することもできる。

自動拡張の最大サイズを無制限にする

データファイルに割り当てられるディスク領域のサイズを制限しない。

ALTER TABLESPACE example AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED

表領域の自動拡張を使用不可能にする

BIGFILE表領域内のデータファイルに対して、自動拡張を使用不可能にする。

ALTER TABLESPACE example AUTOEXTEND OFF

ALTER TABLESPACEに必要な権限

表領域を変更するには、ALTER TABLESPACEシステム権限が必要である。

関連SQL