天天看點

臨時表空間組的使用

一個臨時表空間組至少包含一個臨時表空間。

臨時表空間組無法顯式建立,當第一個臨時表空間配置設定給該組時自動建立,當組内所有臨時表空間被移除時自動删除。

臨時表空間組支援的操作:

可以将臨時表空間從一個組移動到另外一個組(如果組不存在,則自動建立)。

可以将組中的臨時表空間從組中移除。

可以将目前不屬于任何組的臨時表空間加入一個組。

使用臨時表空間組的好處:

防止一個臨時表空間出現空間不足的問題。

同一個使用者同時連接配接多個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