Oracle altertablespace命令详解

发布时间:2023-05-18

一、语法与用法

ALTER TABLESPACE tablespace_name 
[ 
  {ADD | DROP } DATAFILE 'datafile'
]
[ 
  {ONLINE | OFFLINE} 
]
[ 
  {RESIZE | DATAFILE | AUTOEXTEND} 
]
[ 
  PRIORITY priority 
]
[ 
  MINIMUM EXTENT extent_size 
]
[ 
  COALESCE COALESCE_number 
]
[ 
  DEFAULT STORAGE ( storage_clause ) 
]

Oracle alter tablespace 命令用来为数据表空间进行增加、删除数据文件、在线或离线表空间、重定义数据文件大小、设置数据文件大小增长方式、设置数据文件空间分配方式、设置表空间最小扩展磁盘块单元和调整数据文件顺序等操作。

二、ADD/DROP DATAFILE

ADD DATAFILE 表示向表空间中添加数据文件,DROP DATAFILE 表示从表空间中删除数据文件。 ADD DATAFILE 的格式如下:

ALTER TABLESPACE tablespace_name
ADD DATAFILE 'filename' directory;

其中,tablespace_name 表示表空间的名称,filename 指添加的数据文件的文件名,directory 表示添加的数据文件的目录。 DROP DATAFILE 的格式如下:

ALTER TABLESPACE tablespace_name
DROP DATAFILE 'filename';

其中,tablespace_name 表示表空间的名称,filename 指删除的数据文件的文件名。

三、ONLINE/OFFLINE

ONLINE 表示在线,OFFLINE 表示离线。 ONLINE 的格式如下:

ALTER TABLESPACE tablespace_name
ONLINE;

其中,tablespace_name 表示要在线的表空间名称。 OFFLINE 的格式如下:

ALTER TABLESPACE tablespace_name
OFFLINE [TEMPORARY];

其中,tablespace_name 表示要离线的表空间名称,TEMPORARY 表示离线的表空间为临时表空间。

四、RESIZE/DATAFILE/AUTOEXTEND

RESIZE 表示重定义数据文件的大小,DATAFILE 表示调整数据文件大小,AUTOEXTEND 表示设置数据文件大小增长方式。 RESIZE 的格式如下:

ALTER DATABASE DATAFILE 
'data_file_name' 
RESIZE {integer K | integer M | integer G | integer T};

其中,data_file_name 表示数据文件名,integer K 表示以千字节为单位的大小,integer M 表示以兆字节为单位的大小,integer G 表示以千兆字节为单位的大小,integer T 表示以TB为单位的大小。 DATAFILE 的格式如下:

ALTER TABLESPACE tablespace_name 
DATAFILE 'data_file_name' 
AUTOEXTEND OFF[,SIZE integerK | M | G];

其中,tablespace_name 表示表空间名称,data_file_name 表示数据文件名,SIZE integerK 表示数据文件的大小。 AUTOEXTEND 的语法格式:

ALTER TABLESPACE tablespace_name 
AUTOEXTEND {OFF | ON [NEXT integerK | M | G] [MAXSIZE integerK | M | G]};

其中,tablespace_name 表示表空间名称,OFF 表示关闭 AUTOEXTEND 功能,ON 表示开启 AUTOEXTEND 功能,NEXT integerK 表示数据文件增长时的步长,MAXSIZE integerK 表示数据文件增长时达到的最大值。

五、PRIORITY/MINIMUM EXTENT/COALESCE/DEFAULT STORAGE

PRIORITY 表示调整数据文件的优先级,MINIMUM EXTENT 表示表空间最小扩展磁盘块单元,COALESCE 表示数据块的合并,DEFAULT STORAGE 表示设置数据文件的默认存储选项。 PRIORITY 的语法格式:

ALTER TABLESPACE tablespace_name 
PRIORITY integer;

其中,tablespace_name 表示表空间名称,integer 表示数据文件的优先级。 MINIMUM EXTENT 的语法格式:

ALTER TABLESPACE tablespace_name 
MINIMUM EXTENT integerK;

其中,tablespace_name 表示表空间名称,integerK 表示表空间最小扩展磁盘块单元。 COALESCE 的语法格式:

ALTER TABLESPACE tablespace_name 
COALESCE COALESCE_number;

其中,tablespace_name 表示表空间名称,COALESCE_number 表示数据块的合并数量。 DEFAULT STORAGE 的语法格式:

ALTER TABLESPACE tablespace_name 
DEFAULT STORAGE (storage_clause);

其中,tablespace_name 表示表空间名称,storage_clause 表示数据文件的默认存储选项,包括:初始块大小 INITIAL,下一个增长块数 NEXT,最小块数 MINEXTENTS,最大块数 MAXEXTENTS,块填充百分比 PCTINCREASE,空间管理方式 SEGMENT SPACE MANAGEMENT