ORA-03113: end-of-file on communication channel 错误定位过程(转)

本文详细介绍了在遇到Oracle数据库报错ORA-03113时,如何定位并解决问题的过程,涉及到数据库连接、防火墙设置和SQL脚本使用等关键点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天数据库不能启动了,报ORA-03113: end-of-file on communication channel的错误,经过网上搜索相关信息如下:

 

手动关闭Oracle之后打算再次启动Oracle:

$sqlplus ‘/as sysdba’

SQL> startup

ORA-03113: end-of-file on communication channel

结果便出现了以上错误。


通过上网查询出错原因,常见的原因有以下几个:

1、Unix核心参数设置不当

2、Oracle执行文件权限不正确/环境变量问题

3、客户端通信不能正确处理

4、数据库服务器崩溃/操作系统崩溃/进程被kill

5、Oracle 内部错误

6、特定SQL、PL/SQL引起的错误

7、空间不够

8、防火墙的问题


因为oracle已经正常运行了一个月,因此unix参数不对、权限环境变量、防火墙这些在首次启动就会发现的问题不应该现在才出现;而对于客户端通信、特定的SQL引起的错误,因为在启动过程中就已经报错,所以也排除。

由此判断,数据库服务崩溃/系统崩溃/进程被kill、Oracle内部错误、空间不够可能是原凶。


首先从最容易查起的原因开始,查询磁盘空间,结果磁盘空间利用不到30%,剩余空间足够;


于是检查Oracle内部错误:

$cd $ORACLE_HOME/admin/SID/cdump

发现大量的core,看来原因找到了。但所有的core目录都是空的,没有任何文件。

使用ulimit –a查看,原因core的文件大小为0,这是什么原因导致的core呢?


现在原因不明,于是检查bdump目录下的日志。

$cd $ORACLE_HOME/admin/SID/bdump

$cat alert_SID.log

发现日志量很大,满屏的都是同一个错误,扩展表空间失败:

ORA-1654: unable to extend index SID.INDEX by 128 in tablespace TABLESPACE

ORA-1653: unable to extend table SID.TABLE by 1024 in tablespace TABLESPACE

看来表空间已经满了并且无法扩展导致oracle出现core的。


$cd $ORACLE_BASE/oradada/SID

$ls –lh

-rw-r----- 1 oracle oinstall 2.1G Oct 14 15:10 SID_DATA01.DBF

-rw-r----- 1 oracle oinstall 201M Oct 14 12:28 SID_INDEX01.DBF

原来是空间已经达到2G,但应该触发扩展才对。


安装数据库时并没有限制SID_DATA01.DB
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值