A.至少含有一个临时表空间,之多含有多少个临时表空间没有限制。
B.名称不可以与其它表空间名称相同。
C.通过DBA_TABLESPACE_GROUPS查看临时表空间组和它的成员。
[@more@]A. 当把第一个临时表空间加入到临时表空间组时,将缺省自动(implicitly)创建了该临时表空间组。
B. 当临时表空组的最后一个成员被移出该组时,将缺省自动删除该组。
不可以通过命令现式创建和删除临时表空间组。
3.1创建一个临时表空间组
SQL> select ts#,name from v$tablespace;
TS# NAME
0 SYSTEM
1 UNDOTBS1
2 SYSAUX
3 TEMP
4 USERS
6 AIDUTEMP2
SQL> select * from dba_tablespace_groups;
no rows selected
创建临时表时,指定属于表空间组:
SQL>Create temporary tablespace aidutemp1 tempfile ‘/oracle/oradata/aidu/temp01.dbf’ size 50m tablespace group group1;
Tablespace created.
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
---------------------------------------------------------------
GROUP1 AIDUTEMP1
将一个已经存在的临时表空间,指定属于一个表空间组:
SQL>Alter tablespace aidutemp2 tablespace group group2;
Tablespace altered.
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------------------------------------------------------------------
GROUP1 AIDUTEMP1
GROUP2 AIDUTEMP2
3.2更改临时表空间组的成员
将临时表空间加入已经存在的临时表空间组
SQL> create temporary tablespace aidutemp3 tempfile '/oracle/oradata/aidu/aidutemp3.dbf' size 50m tablespace group group1;
Tablespace created.
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------------------------------------------------------------------
GROUP1 AIDUTEMP1
GROUP2 AIDUTEMP2
GROUP1 AIDUTEMP3
将临时表空间移动到另外一个组
SQL> alter tablespace aidutemp2 tablespace group group1;
Tablespace altered.
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------------------------------------------------------------------
GROUP1 AIDUTEMP1
GROUP1 AIDUTEMP2
GROUP1 AIDUTEMP3
临时表空间aidutemp2从group2移动到group1组,group2因为没有组员了,所以自动被删除。
3.3临时表空间组的成员退出临时表空间组
SQL> alter tablespace aidutemp2 tablespace group '';
Tablespace altered.
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------------------------------------------------------------------
GROUP1 AIDUTEMP1
GROUP1 AIDUTEMP3
3.4设定临时表空间组为数据库缺省临时表空间
SQL> alter database default temporary tablespace group1;
Database altered.
可以通过下面的语句查询数据库的临时表空间
SQL> select * from database_properties where property_name = 'DEFAULT_TEMP_TABLESPACE';
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
-------------------------------------------------------------------------------------------------------------------------------
DEFAULT_TEMP_TABLESPACE GROUP1 Name of default temporary tablespace
注意:
如果临时表空间组被设置为数据库缺省临时表空间,就不可以drop组中成员,如果确实要drop成员,请首先将该成员从组中移除出来,就像我们不可以drop一个被设置为数据库缺省临时表空间的单个表空间。
题外话:
下面的语句查询数据库的缺省永久表空间
SQL> select * from database_properties where property_name = 'DEFAULT_ PERMANENT _TABLESPACE';
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
-------------------------------------------------------------------------------------------------------------------------------
DEFAULT_PERMANENT_TABLESPACE USERS Name of default permanent tablespace
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/32980/viewspace-1053082/ ,如需转载,请注明出处,否则将追究法律责任。