临时表空间组的使用

一个临时表空间组至少包含一个临时表空间。
临时表空间组无法显式创建,当第一个临时表空间分配给该组时自动创建,当组内所有临时表空间被移除时自动删除。
临时表空间组支持的操作:
可以将临时表空间从一个组移动到另外一个组(如果组不存在,则自动创建)。
可以将组中的临时表空间从组中移除。
可以将目前不属于任何组的临时表空间加入一个组。
使用临时表空间组的好处:
防止一个临时表空间出现空间不足的问题。
同一个用户同时连接多个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 '';
表空间已更改。
SQL> select * from dba_tablespace_groups;
GROUP_NAME                     TABLESPACE_NAME                                 
------------------------------ ------------------------------                  
TMPGRP1                        TEMP01                         
 
四  将表空间移入新的表空间组。                 
SQL> alter tablespace temp02 tablespace group tmpgrp1;
表空间已更改。
SQL> select * from dba_tablespace_groups;
GROUP_NAME                     TABLESPACE_NAME                                 
------------------------------ ------------------------------                  
TMPGRP1                        TEMP01                                          
TMPGRP1                        TEMP02                                          
SQL>
SQL> create temporary tablespace temp03
  2  tempfile 'd:\oracle\oradata\orcl\temp301.dbf' size 10m
  3  tablespace group tmpgrp3;
表空间已创建。
SQL> select * from dba_tablespace_groups;
GROUP_NAME                     TABLESPACE_NAME                                 
------------------------------ ------------------------------                  
TMPGRP1                        TEMP01                                          
TMPGRP1                        TEMP02                                          
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' 已存在

 

SQL> select * from dba_tablespace_groups;
GROUP_NAME                     TABLESPACE_NAME                                 
------------------------------ ------------------------------                  
TMPGRP1                        TEMP01                                          
TMPGRP1                        TEMP02                                          
TMPGRP3                        TEMP03                                          
 
六  删除临时表空间组中的所有表空间后,临时表空间组将被自动删除。
SQL> drop tablespace temp01 including contents and datafiles;
表空间已删除。
SQL> select * from dba_tablespace_groups;
GROUP_NAME                     TABLESPACE_NAME                                 
------------------------------ ------------------------------                  
TMPGRP1                        TEMP02                                          
TMPGRP3                        TEMP03                             
上一篇:HBuilder打包Vue-cli构建的APP


下一篇:如何选择最适合你的分布式事务方案