ORACLE数据库临时表空间不足通用解决方案
金蝶云社区-杨银芳_KD508
杨银芳_KD508
0人赞赏了该文章 5,958次浏览 未经作者许可,禁止转载编辑于2015年08月11日 10:37:14

ORACLE数据库临时表空间不足通用解决方案

原因分析:
1.ORACLE临时表空间是由oracle数据库定时对表空间进行释放,但也会出现表空间释放不及时的现象。这属于oracle问题,无参数进行配置来解决,
只能通过重定向临时表空间来释放空间。
2.随着业务量的增大,ORACLE临时表空间需求会增大,需新增数据文件。

解决方案:
1.普通临时表空间的数据文件扩展一般设置无限制(即最大为32G),如不够有时需要再再新增一个数据文件。
2.如果临时表空间使用到32G或更多,
则可以通过重定向临时表空间以来达到临时表空间资源释放。
3.相应的措施如下所示:
3.1
(1).查找表空间对应的数据文件(以EAS_T_FANHUA_STANDARD临时表空间为例)
select file_name,tablespace_name from dba_temp_files where tablespace_name='EAS_T_FANHUA_STANDARD'
(2).查看此路径下的数据文件/PATH/FILENAME(为上面sql查出来的filename的值)大小,如果小于32G,让数据文件进行自动扩展,扩展到32G。
alter DATABASE tempfile '/PATH/FILENAME' autoextend on next 200M maxsize unlimited
(3).如果数据文件为32G 则需加个数据文件
alter tablespace EAS_T_FANHUA_STANDARD add tempfile '/PATH/FILENAME' size 100m autoextend on next 100M maxsize unlimited
3.2
(1).重新建一个临时表空间,重定向表空间的方法来释放表空间,如下所示:如重建的临时表空间名为EAS_T_EAS59_STANDARD,
临时数据文件的存放路径为D:\ORACLE11G\ORADATA\ORACLE10G\,临时数据文件为EAS_T_EAS59_STANDARD.ORA,EAS账套用户为EASDB,
脚本如下所示:CREATE TEMPORARY TABLESPACE "EAS_T_EAS59_STANDARD" TEMPFILE 'D:\ORACLE11G\ORADATA\ORACLE10G\EAS_T_EAS59_STANDARD.ORA'
SIZE 500M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED; --新建一个临时表空间
ALTER USER EASDB TEMPORARY TABLESPACE EAS_T_EAS59_STANDARD; --表空间重定向
drop tablespace EAS_T_EAS59_STANDARN including contents and datafiles; --将之前的临时表空间删除