ORA-00603错误

今天创建索引的时候遇到了ORA-00603错误,提示:ORA-00603: ORACLE server session terminated by fatal error

查看告警日志,发现如下信息:


我们可以发现这是设备存储不足的原因:

到主机上清理出部分空间之后,恢复正常。出现这个错误还有可能是临时表空间不足,目录数过多:

下面是metalink上的一段话:

Hello, 

The file number should appear in v$datafile. If 201 is higher than the number set for db_files, the file is a temp file and you can try the following: 
SELECT name FROM v$tempfile WHERE file#=(<AFN> - <DB_FILES value>)

If your DB_FILES parameter is set to 100 within the init.ora and your error shows a problem with file 101, you will know the problem is with v$tempfile file# = 1. 

This appears to be an operating system specific issue. You may be running into a OS file size limitation. You will want to check the event viewer for further error messages. You should post to the Microsoft Installation/OS: RDBMS for further information as to why this problem is occuring.


也就是说,总的数据文件数不能超过设置的值,我们可以参数查看设置的最大文件数:


或者show parameter db_files


如果临时表空间过大需要添加临时表空间,如果文件数过多,可以修改数据文件参数。

附:查看临时表空间使用情况:

SELECT ROUND((F.BYTES_FREE + F.BYTES_USED) / 1024 / 1024, 2) "total MB",
       ROUND(((F.BYTES_FREE + F.BYTES_USED) - NVL(P.BYTES_USED, 0)) / 1024 / 1024,
             2) "Free MB",
       D.FILE_NAME "Datafile name",
       ROUND(NVL(P.BYTES_USED, 0) / 1024 / 1024, 2) "Used MB",
       ROUND((F.BYTES_FREE + F.BYTES_USED) / 1024, 2) "total KB",
       ROUND(((F.BYTES_FREE + F.BYTES_USED) - NVL(P.BYTES_USED, 0)) / 1024,
             2) "Free KB",
       ROUND(NVL(P.BYTES_USED, 0) / 1024, 2) "Used KB",
       0 "Fragmentation Index"
FROM   SYS.V_$TEMP_SPACE_HEADER F,
       DBA_TEMP_FILES           D,
       SYS.V_$TEMP_EXTENT_POOL  P
WHERE  F.TABLESPACE_NAME(+) = D.TABLESPACE_NAME
AND    F.FILE_ID(+) = D.FILE_ID
AND    P.FILE_ID(+) = D.FILE_ID


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值