日期:2014-05-16  浏览次数:20388 次

Oracle数据库表空间7--临时表空间组的操作
 在11g中用户可以创建临时表空间组,一个临时表空间组中可以包含一个或多个临时表空间。
 1.一个临时表空间组必须由至少一个临时表空间组成,并且无明确最大的数量限制。
 2.如果删除一个临时表空间组的所有成员,改组也就不存在了。
 3.临时表空间的名称不能和临时表空间组的名字相同。
 4.在给用户分配一个临时表空间时,可以使用临时表空间组的名称代替实际的临时表空间名; 在给数据库分配默认临时表空间时,也可以使用临时表空间组的名字。

使用临时表空间组的优点:
1. 由于SQL查询可以并发使用几个临时表空间进行排序操作,因此SQL查询很少会出现排序空间超出,避免临时表空间不足引起的错误排序问题。
2. 可以在数据级指定多个默认临时表空间。
3. 一个并行操作的并行服务器将优先地利用多个临时表空间。
4. 一个用户在不同会话中可以同时使用多个临时表空间。

操作临时表空间组
1.创建临时表空间组(只需要在创建临时表空间时,使用tablespace group 语句为其指定一个组即可)
2. 查看历史表空间组信息,dba_tablespace_groups
  select * from dba_tablespace_groups;
3.移动临时表空间,使用alter tablespace
  alter tablespace tablespace_name tablespace group tablespace_group_name;
4.删除临时表空间组(删除其中所有的临时表空间)

SQL> create temporary tablespace tempgroup
  2  tempfile 'D:\app\SQLTest\Self\tempgroup01.dbf' size 5M
  3  tablespace group group01;

表空间已创建。

SQL> select * from dba_tablespace_groups;

GROUP_NAME                     TABLESPACE
------------------------------ ----------
GROUP01                        TEMPGROUP
GROUP01			       TEMPGROUP02



SQL>  alter tablespace tempgroup tablespace group  group02;

SQL> select * from dba_tablespace_groups;

GROUP_NAME                     TABLESPACE
------------------------------ ----------
GROUP02                        TEMPGROUP
GROUP02                        TEMGROUP02

SQL>