Oracle 11g开始提供tempgroup,就是把当前创建的临时表空间组合起来,共同为数据库供服务, 一个临时表空间组至少包括一个临时表空间。
临时表空间组支持以下操作:
1.临时表空间支持组间移动(如果目标组不存在,则会自动创建)
2.可以将组中的临时表空间从组中移除。
3.可以将目前不属于任何组的临时表空间加入到一个组内。
优点:
1.为不同的用户,在一个组内分配不同的表空间。
2.当同一用户的不同session连接数据库进行排序操作时,Oracle可以为这些session分配不同的临时表空间,有利于缓解IO竞争。
临时表空间组的创建案例:
--创建临时表空间,并指定所属的表空间线
SQL> create temporary tablespace tempts1 tempfile '+datadg' size 3072m EXTENT MANAGEMENT LOCAL UNIFORM SIZE 4194304 tablespace group tempgroup1;
Tablespace created.
SQL> create temporary tablespace tempts2 tempfile '+datadg' size 3072m EXTENT MANAGEMENT LOCAL UNIFORM SIZE 4194304 tablespace group tempgroup1;
Tablespace created.
SQL> create temporary tablespace tempts3 tempfile '+datadg' size 3072m EXTENT MANAGEMENT LOCAL UNIFORM SIZE 4194304 tablespace group tempgroup1;
Tablespace created.
SQL> create temporary tablespace tempts4 tempfile '+datadg' size 3072m EXTENT MANAGEMENT LOCAL UNIFORM SIZE 4194304 tablespace group tempgroup1;
Tablespace created.
--设置数据库默认临时表空间组
SQL> alter database default temporary tablespace tempgroup1;
Database altered.
--设置用户临时表空间组
SQL> alter user testuser temporary tablespace tempgroup1;
User altered.
这样就创建好了临时表空间组,并指定数据库与用户默认。