Oracle Temporary tablespace group
一个临时表空间组至少包含一个临时表空间。
临时表空间组无法显式创建,当第一个临时表空间分配给该组时自动创建,当组内所有临时表空间被移除时自动删除。
临时表空间组支持的操作:
可以将临时表空间从一个组移动到另外一个组(如果组不存在,则自动创建)。
可以将组中的临时表空间从组中移除。
可以将目前不属于任何组的临时表空间加入一个组。
使用临时表空间组的好处:
防止一个临时表空间出现空间不足的问题。
同一个用户同时连接多个session时可以使用不同的临时表空间。
在并行操作中可以并行使用多个临时表空间。
下面给出几个例子:
1.创建临时表空间组
SQL> create temporary tablespace TMP4 tempfile '/u01/app/oracle/oradata/PROD/tmp04.dbf' size 64M autoextend on maxsize 2G extent management local uniform size 1M tablespace group TMPGRP;
2.查看系统中目前存在的临时表空间组的信息
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
TMPGRP TMP4
3,添加普通临时表空间
SQL> create temporary tablespace TMP3 tempfile '/u01/app/oracle/oradata/PROD/tmp03.dbf' size 64M autoextend on maxsize 2G extent management local uniform size 1M;
Tablespace created.
SQL> create temporary tablespace TMP2 tempfile '/u01/app/oracle/oradata/PROD/tmp02.dbf' size 64M autoextend on maxsize 2G extent management local uniform size 1M;
Tablespace created.
SQL> create temporary tablespace TMP1 tempfile '/u01/app/oracle/oradata/PROD/tmp01.dbf' size 64M autoextend on maxsize 2G extent management local uniform size 1M;
Tablespace created.
4.移动临时表空间到新的临时表空间组
SQL> alter tablespace TMP1 tablespace GROUP TMPGRP;
Tablespace altered.
SQL> alter tablespace TMP2 tablespace GROUP TMPGRP;
Tablespace altered.
SQL> alter tablespace TMP3 tablespace GROUP TMPGRP;
Tablespace altered.
5,再次查看系统中目前存在的临时表空间组的信息
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
TMPGRP TMP1
TMPGRP TMP2
TMPGRP TMP3
TMPGRP TMP4
6.将临时表空间从临时表空间组中移出
SQL> drop tablespace tmp4 including contents and datafiles;
Tablespace dropped.
7,再次查看系统中目前存在的临时表空间组的信息
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
TMPGRP TMP1
TMPGRP TMP2
TMPGRP TMP3
8.可以将数据库或者用户的默认临时表空间指定为临时表空间组
SQL> alter database default temporary tablespace TMPGRP;
Database altered.
SQL> select * from database_properties where property_NAME like '%DEFAULT_TEMP_TABLESPACE%';
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
------------------------------ -------------------- ------------------------------------------------------------
DEFAULT_TEMP_TABLESPACE TMPGRP Name of default temporary tablespace
可以看出,此时数据库的默认临时表空间是临时表空间组TMPGRP