oracle 临时表空间问题

关于ORA-01187: cannot read from file because it failed verification tests的处理方法【临时表空间不足】

2.1 临时表空间介绍

1)Oracle临时表空间主要用来做查询和存放一些缓冲区数据。(普通的查询语句都会占用临时表空间)

2)临时表空间消耗的主要原因是需要对查询的中间结果进行排序

3)重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql

语句的执行,temp表空间会一直增长。直到耗尽硬盘空间。

2.2 ORA-01187错误的处理方法

参考网页:http://www.th7.cn/db/Oracle/201306/31339.shtml

1)使用db账户进入sqlplussqlplus'/as sysdba'

2查看临时表文件的存放目录,以及大小:

SQL> select name,bytes/1024/1024,status from v$tempfile;

NAME           BYTES/1024/1024 STATUS     

------------------------------ --------------- -------

/oradata/seven/temp01.dbf 30 ONLINE

3)删除临时文件:

SQL> alter database tempfile '/oradata/seven/temp01.dbf' drop;

4重新添加临时数据文件(可添加多个)

SQL> alter tablespace temp add tempfile '/oradata/seven/temp01.dbf' size 30G reuse;

SQL> alter tablespace temp add tempfile '/oradata/seven /temp02.dbf' size 30G reuse;

2.3 查看临时表剩余空间

select FREE_SPACE/1024/1024/1024 free_space

from DBA_TEMP_FREE_SPACE;

猜你喜欢

转载自csh081.iteye.com/blog/2197032