1. 简介
Oracle表空间组可以使用户消耗来自多个表空间的临时表空间。表空间组有如下特点:
1) 至少包含一个表空间。表空间组中包含的最大表空间数没有限制。
2) 和表空间共享命名空间,不能和任何表空间同名。
当你为数据库或用户分配一个临时表空间时,你可以在表空间名可以出现的任何地方确定表空间组名。
你不用显式创建表空间组。当你为表空间组指定第一个临时表空间时,表空间组被隐式创建。当表空间组包含的最后一个临时表空间移除时,该表空间组也被删除。
用表空间组而不用一个临时表空间,能减少导致单独表空间不足以容纳排序结果,特别是有多个分区的大表上的。表空间组还可以使单个并行操作利用多个临时表空间启用多个并行执行服务器。
2. 表空间组相关信息
1) 数据字典
CDB_TABLESPACE_GROUPS
DBA_TABLESPACE_GROUPS
TS$
2) 系统权限
ALTER TABLESPACE
DROP TABLESPACE
UNLIMITED TABLESPACE
CREATE TABLESPACE
MANAGE TABLESPACE
3. 创建表空间组
1) 创建表空间
语法
CREATE TEMPORARY TABLESPACE<tablespace_name>
TEMP <data_file_path_and_name>
SIZE <integer> <K | M | G |T | P | E>
TABLESPACE GROUP <group_name>;
例子
CREATE TEMPORARY TABLESPACE batchtemp
TEMPFILE '/u02/oradata/temp04.dbf'
SIZE 2E
TABLESPACE GROUP temp_grp;
desc dba_tablespace_groups
SELECT * FROM dba_tablespace_groups;
2) 更改表空间
语法
ALTER TABLESPACE <tablespace_name>
TABLESPACE GROUP <group_name>;
例子
ALTERTABLESPACE tools TABLESPACE GROUP apps_grp;
SELECT * FROM dba_tablespace_groups;
4. 移除组成员
语法
ALTER TABLESPACE<tablespace_name> TABLESPACE GROUP '';
例子
ALTERTABLESPACE batchtemp TABLESPACE GROUP '';
SELECT * FROM dba_tablespace_groups;
5. 指定默认表空间组
语法
ALTER DATABASE<tablespace_name>
DEFAULT TEMPORARY TABLESPACE<group_name>;
例子
ALTER DATABASE orabase DEFAULT TEMPORARY TABLESPACE app_grp;
SELECT * FROM dba_tablespace_groups;