ORA-3113 错误就是说连接到数据库的网络中断了。就我的经验来说,出现这个问题的地方可能有两个。第一,客户机和数据库之间的网络中断了。第二,数据库中的bug 造成了会话的中断并且客户认为网络错误就造成上述问题的主要原因 有些错误由于频繁出现、原因复杂而被 Oracle DBA 们戏称之为"经典的错误"。其中ORA-3113 "end of file on communication channel" 就是这样的一个。 我们可以简单的把这个错误理解为Oracle 客户端进程和数据库后台进程连接中断。不过,导致这个错误的原因实际上有很多种:对数据库设置不当、任何能导致数据库后台进程崩溃的行为都可能产生这个错误。 此外,该错误出现的场景复杂,可能出现在: 启动的Oracle 的时侯 试图创建数据库的时侯 试图对数据库进行连接的时侯 在客户端正在运行 SQL/PL/SQL 的时侯 备份/恢复数据库的时侯 其它一些情况下...... 错误原因种种 根据网络上大家反映的情况来看,错误原因大约有这些: Unix 核心参数设置不当 Oracle 执行文件权限不正确/环境变量问题 客户端通信不能正确处理 数据库服务器崩溃/操作系统崩溃/进程被 kill Oracle 内部错误 特定 SQL、PL/SQL 引起的错误 空间不够 防火墙的问题 其它原因 在开始解决问题之前,作如下几件事情: 回忆一下在出现错误之前你都做了什么操作,越详细越好; 查看 backgrou nd_du mp_dest 目录中的 alertSID.log 文件也是你必须要的事情; 用 Google 搜索一下,在互联网上有很多信息等着你去发现,不要什么都问别人。 当然, 如果你找到了一些对你更有帮助的东西--这篇文档就不用看了 :-) 1) Unix 核心参数设置不当 / init 参数设置不当 如果数据库在安装过程中没有设定正确的操作系统核心变量,可能在安装数据库文件的时侯没甚么问题,在创建数据库的时侯常常会出现03113 错误。和此有关的另一个原因是init.ora 参数文件中的processes 参数指定了不合理的值,启动数据库导致错误出现(当然这个归根到底也是核心参数的问题).这个错误信息一般如下: ORA-03113: end-of-file on communication channel ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist 解决办法有两个: 修改核心参数,加大相应核心参数的值(推荐) 减小 init.ora 参数的P...