temporary group

在10g中,可以创建多个临时表空间,并把它们组成一个临时表空间组,这样应用数据用于排序时可以使用组里的多个临时表空间,一个临时表空间组至少有一个临时表空间,其最大个数没有限制,组的名字不能和其中某个表空间的名字相同。

临时表空间组是在创建临时表空间时隐式创建的,同时如果组中的临时表空间全部移去了,那么这个组也将消失。

使用临时表空间组,我们将可以将一个表空间从一个组移动另一个组,或是从一个组中删除,或是往组里添加新的表空间

使用临时表空间组,有如下的优点:

 避免当临时表空间不足时所引起的结果排序的问题;

当一个用户同时有多个会话时,可以使得它们使用不同的临时表空间

使得并行的服务器在单节点上,能使用多个临时表空间

 一、创建临时表空间组

SQL> create temporary tablespace temp2 tempfile
  2  ‘F:\app\boson.sun\product\11.1.0\db_1\temp01.dbf’ size 2m tablespace group
group1;

表空间已创建。

SQL> create temporary tablespace temp3 tempfile
  2  ‘F:\app\boson.sun\product\11.1.0\db_1\temp03.dbf’ size 2m tablespace group
group1;

表空间已创建。

SQL> select * from dba_tablespace_groups
  2  ;

GROUP_NAME                     TABLESPACE_NAME
—————————— ——————————
GROUP1                         TEMP2
GROUP1                         TEMP3

二、移动表空间

SQL> alter tablespace temp2 tablespace group group2;

表空间已更改。

SQL> select * from dba_tablespace_groups;

GROUP_NAME                     TABLESPACE_NAME
—————————— ——————————
GROUP2                         TEMP2
GROUP1                         TEMP3

三、删除临时表空间 

SQL> drop tablespace temp2 including contents and datafiles;

 四、把临时表空间组指定给某个用户

SQL> alter user scott temporary tablespace GROUP1; 

五、检查某个用户使用哪个临时表空间

SQL> select username, session_num, tablespace from v$sort_usage;

六、在数据库级设置临时表空间

alter database default temporary tablespace group1



评论暂缺

(Required)
(Required, will not be published)