遇到 ORACLE 错误 3113

2025-01-07 19:18:02
推荐回答(2个)
回答1:

一楼的回答是说,建库的时候报3113的原因,你这是导出,两回事
二楼是 广告,无视。
正确的说法是这样,
3113错误的意思很有限,只是告诉我们跟服务器的连接异常中断。一般是由于服务器方面有严重的异常,而导致的。比如说,服务器实例突然死了。或者报了ora-600的内部错误。你看一下alert log。服务器到底发生了什么?另外,你这是个导出时报的错误,再试一次,是不是还有同样的错误?
1041错误更没啥东西,一般是由3113导致的。解决3113,就解决了1041

回答2:

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

解决办法有两个:

1、修改核心参数,加大相应核心参数的值(推荐);
2、减小init.ora参数的Processes的值。

需要注意的是:

SEMMSL必须设定为至少要10 + '进程数的最大值';
SEMMNS 也依赖于每个数据库上的进程参数值。
注:

这个错误类型只在Unix平台上出现。在Windows上如果processes的值过大,则会出现类似如下的错误:

ORA-00068: invalid value 24200001 for parameter max_rollback_segments,
must be between 2 and 65535

/* 此时指定的参数值超过了65535 */

或者
ORA-27102: out of memory
/* 小于65535的一个大参数值 */ 软件环境:

Windows 2000 Version 5.0 Service Pack 3, CPU type 586
ORACLE RDBMS Version: 8.1.7.0.0