龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle认证:详解OracleTemp临时表空间处理方法(1)(2)

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
重建TEMP 表空间: Temporary tablespace是不能直接drop默认的临时表空间的,不过我们可以通过以下方法来做。 准备:查看目前的Temporary Tablespace SQL selectnamefr

重建TEMP 表空间:

Temporary tablespace是不能直接drop默认的临时表空间的,不过我们可以通过以下方法来做。

准备:查看目前的Temporary Tablespace

  1. SQL> select name from v$tempfile;  
  2.  
  3. NAME  
  4.  
  5. ———————————————————————  
  6.  
  7. D:\ORACLE\ORADATA\TEST\TEMP01.DBF  
  8.  
  9. SQL> select username,temporary_tablespace from dba_users;  
  10.  
  11. USERNAME                    TEMPORARY_TABLESPACE  
  12.  
  13. ------------------------------ ------------------------------  
  14.  
  15. MGMT_VIEW                  TEMP  
  16.  
  17. SYS                                TEMP  
  18.  
  19. SYSTEM                         TEMP  
  20.  
  21. DBSNMP                         TEMP  
  22.  
  23. SYSMAN                         TEMP 

1.创建中转临时表空间

  1. create temporary tablespace  TEMP1 TEMPFILE 'E:\ORACLE\ORADATA\ORCL\temp02.DBF' SIZE 512M REUSE AUTOEXTEND ON NEXT  1M MAXSIZE UNLIMITED; 

2.改变缺省临时表空间 为刚刚创建的新临时表空间temp1

  1. alter database default  temporary tablespace  temp1; 

3.删除原来临时表空间

  1. drop tablespace temp including contents and datafiles; 

4.重新创建临时表空间

  1. create temporary tablespace  TEMP TEMPFILE 'E:\ORACLE\ORADATA\ORCL\temp01.DBF' SIZE 512M REUSE AUTOEXTEND ON NEXT  1M MAXSIZE UNLIMITED; 

5.重置缺省临时表空间为新建的temp表空间

  1. alter database default  temporary tablespace  temp; 

6.删除中转用临时表空间

  1. drop tablespace temp1 including contents and datafiles; 

7.如果有必要,那么重新指定用户表空间为重建的临时表空间

  1. alter user arbor temporary tablespace  temp; 

查看表空间语句,不过查不出Temp表空间:

  1. SELECT UPPER(F.TABLESPACE_NAME) "表空间名",  
  2.  
  3. D.TOT_GROOTTE_MB "表空间大小(M)",  
  4.  
  5. D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",  
  6.  
  7. TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),  
  8.  
  9. '990.99') "使用比",  
  10.  
  11. F.TOTAL_BYTES "空闲空间(M)",  
  12.  
  13. F.MAX_BYTES "最大块(M)"  
  14.  
  15. FROM (SELECT TABLESPACE_NAME,  
  16.  
  17. ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,  
  18.  
  19. ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES  
  20.  
  21. FROM SYS.DBA_FREE_SPACE  
  22.  
  23. GROUP BY TABLESPACE_NAME) F,  
  24.  
  25. (SELECT DD.TABLESPACE_NAME,  
  26.  
  27. ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB  
  28.  
  29. FROM SYS.DBA_DATA_FILES DD  
  30.  
  31. GROUP BY DD.TABLESPACE_NAME) D  
  32.  
  33. WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME  
  34.  
  35. ORDER BY 4 DESC 

以上就是Oracle临时表空间的处理方法,希望会对读者带来帮助。

精彩图集

赞助商链接