1. 对ORACLE临时表空间的管理主要分为以下几个方面:创建临时表空间,修改系统的缺省临时表空间,增加临时表空间的数据文件,删除临时表空间的数据文件,对临时表空间的使用进行监控。最后介绍了ORACLE 11g里面,临时表空间收缩的新特性。 
  2.  
  3. 1.如果原来创建的临时表空间参数不对,可以创建新的临时表空间 
  4.  
  5. SQL> create temporary tablespace tbs_temp tempfile 'C:\ORACLE\ORADATA\TEST\tbs_temp_1.dbf' size 2000M 
  6.   2  extent management local 
  7.   3  uniform size 1M; 
  8.  
  9. Tablespace created. 
  10.  
  11. 修改系统缺省临时表空间 
  12.  
  13. SQL> alter database default temporary tablespace tbs_temp; 
  14.  
  15. Database altered. 
  16.  
  17. 删除掉原来的临时表空间 
  18.  
  19. SQL> drop tablespace temp
  20.  
  21. Tablespace dropped. 
  22.  
  23. 2.为新创建的临时表空间增加数据文件 
  24.  
  25. SQL> alter tablespace tbs_temp add tempfile 
  26.   2  'C:\ORACLE\ORADATA\TEST\tbs_temp_2.dbf' size 2000M; 
  27.  
  28. Tablespace altered. 
  29.  
  30. 3.删除原来的临时表空间的其中的一个数据文件,先将临时表空间的这个数据文件offline,然后drop 
  31.  
  32. SQL> alter database tempfile 'C:\ORACLE\ORADATA\TEST\tbs_temp_2.dbf' offline; 
  33.  
  34. Database altered. 
  35.  
  36. SQL> alter database tempfile 'C:\ORACLE\ORADATA\TEST\tbs_temp_2.dbf' drop
  37.  
  38. Database altered. 
  39.  
  40. 4.对临时表空间使用进行监控(磁盘排序) 
  41.  
  42.   set heading off 
  43.   set echo off 
  44.   set linesize 1000 
  45.   set pagesize 100 
  46.   set trimspool on 
  47.   select MSIZE||'M','SORT_STATUS' STATUS from ( 
  48.    select sum(nvl(blocks,0))*8/1024 MSIZE from v$sort_usage) 
  49.   where MSIZE >= 5000; 
  50.  
  51. 5.ORACLE 11g临时表空间收缩的功能 
  52.  
  53. 收缩整个临时表空间:  alter tablespace tbs_temp shrink space [keep 200m]; 
  54.  
  55. 收缩临时表空间单个数据文件:alter tablespace tbs_temp shrink tempfile 'C:\ORACLE\ORADATA\TEST\tbs_temp_2.dbf'