oracle11g 查看账号ORA-01114错误原因及解决方法(临时表空间坏掉、或者满了)

 

今天应用服务器后台报一下错误:

java.sql.SQLException: ORA-01114: 将块写入文件201 时出现IO 错误(块# 1015305)

ORA-27069: skgfdisp: 尝试在文件范围外执行I/O

OSD-04026: 传递的参数无效。(OS 1015311)

ORA-01114: 将块写入文件201 时出现IO 错误(块# 1015305)

ORA-27069: skgfdisp: 尝试在文件范围外执行I/O

OSD-04026: 传递的参数无效。(OS 1015311)

 

在网上找资料说,是数据库临时表空间满了或者坏掉了。

 

查询临时表空间的大小

 select name, bytes/1024/1024 as "大小(M)" from v$tempfile order by bytes;

看到系统中最大数据文件D:\ORACLE\ORADATA\TFJS\TEMP.DBF 大小为8G,初步估计是temp表空间无法扩展的原因。

 

解决办法:

1、查询该用户下的默认临时表空间

   select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';

2、创建新的临时表空间

   create temporary tablespace temp01   tempfile 'D:\ORACLE\ORADATA\TFJS\TEMP01.DBF'

   size oracle账号1000M autoextend on;

3、修改默认表空间

   alter database default temporary tablespace temp01;

 

摘自 在爬行中进步

此条目发表在oracle metalink账号分类目录,贴了, 标签。将固定链接加入收藏夹。