当前位置:文档之家› Oracle临时表空间满了的解决办法

Oracle临时表空间满了的解决办法

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

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 大小为4G,初步估计是temp表空间无法扩展的原因。

解决办法:
--查询当前数据库默认临时表空间名
select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
--创建新的临时表空间
create temporary tablespace temp02 tempfile 'E:\oracle\oradata\lims\TEMP02.DBF' size 1024M autoextend on;
--修改默认表空间为刚刚建立的临时表空间
alter database default temporary tablespace temp02;
--查看用户所用临时表空间的情况
SELECT USERNAME,TEMPORARY_TABLESPACE FROM DBA_USERS;
--删除原来的临时表空间
drop tablespace temp including contents and datafiles;
--查看所有表空间名确认临时表空间是否已删除
select tablespace_name from dba_tablespaces;


相关主题
文本预览
相关文档 最新文档