一個臨時表空間組至少包含一個臨時表空間。
臨時表空間組無法顯式建立,當第一個臨時表空間配置設定給該組時自動建立,當組内所有臨時表空間被移除時自動删除。
臨時表空間組支援的操作:
可以将臨時表空間從一個組移動到另外一個組(如果組不存在,則自動建立)。
可以将組中的臨時表空間從組中移除。
可以将目前不屬于任何組的臨時表空間加入一個組。
使用臨時表空間組的好處:
防止一個臨時表空間出現空間不足的問題。
同一個使用者同時連接配接多個session時可以使用不同的臨時表空間。
在并行操作中可以并行使用多個臨時表空間。
一 建立臨時表空間
SQL> create temporary tablespace temp01
2 tempfile 'd:\oracle\oradata\orcl\temp101.dbf' size 10m
3 tablespace group tmpgrp1;
表空間已建立。
SQL> create temporary tablespace temp02
2 tempfile 'd:\oracle\oradata\orcl\temp201.dbf' size 10m
3 tablespace group tmpgrp2;
二 檢視臨時表空間。
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
TMPGRP1 TEMP01
TMPGRP2 TEMP02
三 将臨時表空間從臨時表空間組中移出
SQL> alter tablespace temp02 tablespace group '';
表空間已更改。
TMPGRP1 TEMP01
四 将表空間移入新的表空間組。
SQL> alter tablespace temp02 tablespace group tmpgrp1;
TMPGRP1 TEMP02
SQL>
SQL> create temporary tablespace temp03
2 tempfile 'd:\oracle\oradata\orcl\temp301.dbf' size 10m
3 tablespace group tmpgrp3;
TMPGRP3 TEMP03
五 臨時表空間組的名字不能和表空間的名字沖突
SQL> create temporary tablespace temp04
2 tempfile 'd:\oracle\oradata\orcl\temp401.dbf' size 10m
3 tablespace group temp01;
create temporary tablespace temp04
*
第 1 行出現錯誤:
ORA-01543: 表空間 'TEMP01' 已存在
TMPGRP3 TEMP03
六 删除臨時表空間組中的所有表空間後,臨時表空間組将被自動删除。
SQL> drop tablespace temp01 including contents and datafiles;
表空間已删除。
TMPGRP3 TEMP03