- 对ORACLE临时表空间的管理主要分为以下几个方面:创建临时表空间,修改系统的缺省临时表空间,增加临时表空间的数据文件,删除临时表空间的数据文件,对临时表空间的使用进行监控。最后介绍了ORACLE 11g里面,临时表空间收缩的新特性。
- 1.如果原来创建的临时表空间参数不对,可以创建新的临时表空间
- SQL> create temporary tablespace tbs_temp tempfile 'C:\ORACLE\ORADATA\TEST\tbs_temp_1.dbf' size 2000M
- 2 extent management local
- 3 uniform size 1M;
- Tablespace created.
- 修改系统缺省临时表空间
- SQL> alter database default temporary tablespace tbs_temp;
- Database altered.
- 删除掉原来的临时表空间
- SQL> drop tablespace temp;
- Tablespace dropped.
- 2.为新创建的临时表空间增加数据文件
- SQL> alter tablespace tbs_temp add tempfile
- 2 'C:\ORACLE\ORADATA\TEST\tbs_temp_2.dbf' size 2000M;
- Tablespace altered.
- 3.删除原来的临时表空间的其中的一个数据文件,先将临时表空间的这个数据文件offline,然后drop
- SQL> alter database tempfile 'C:\ORACLE\ORADATA\TEST\tbs_temp_2.dbf' offline;
- Database altered.
- SQL> alter database tempfile 'C:\ORACLE\ORADATA\TEST\tbs_temp_2.dbf' drop;
- Database altered.
- 4.对临时表空间使用进行监控(磁盘排序)
- set heading off
- set echo off
- set linesize 1000
- set pagesize 100
- set trimspool on
- select MSIZE||'M','SORT_STATUS' STATUS from (
- select sum(nvl(blocks,0))*8/1024 MSIZE from v$sort_usage)
- where MSIZE >= 5000;
- 5.ORACLE 11g临时表空间收缩的功能
- 收缩整个临时表空间: alter tablespace tbs_temp shrink space [keep 200m];
- 收缩临时表空间单个数据文件:alter tablespace tbs_temp shrink tempfile 'C:\ORACLE\ORADATA\TEST\tbs_temp_2.dbf'