您的位置:首页 > 数据库 > Oracle

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

2016-06-06 17:21 495 查看
环境:oracle 11.2.0.4 r2 rac
今天在RAC两台服务器的日志文件alter日志中,发现如下信息:
ORA-03113: end-of-file on communication channel

简化步骤:
1、在“/u01/app/11.2/grid/network/admin/listener.ora”文件中添加如下内容:
INBOUND_CONNECT_TIMEOUT_LISTENER = 0

2、在“/u01/app/11.2/grid/network/admin/sqlnet.ora”文件中添加如下内容:
SQLNET.INBOUND_CONNECT_TIMEOUT =0

3、创建“/u01/app/oracle/product/11.2/db_1/network/admin/sqlnet.ora”文件,内容如下:
SQLNET.INBOUND_CONNECT_TIMEOUT =0

4、单实例重新导入配置即可生效
lsnrctl reload

5、oracle 11g r2 rac使用srvctl进行管理
srvctl stop listener
srvctl start listener

参考:
1、现象
alert文件中
Mon Jun 27 11:12:34 2011
WARNING: inbound connection timed out (ORA-3136)
sqlnet.log文件中
Fatal NI connect error 12170.
VERSION INFORMATION:
TNS for Linux: Version 10.2.0.4.0 – Production
Oracle Bequeath NT Protocol Adapter for Linux: Version 10.2.0.4.0 – Production
TCP/IP NT Protocol Adapter for Linux: Version 10.2.0.4.0 – Production
Time: 27-JUN-2011 11:12:34
Tracing not turned on.
Tns error struct:
ns main err code: 12535
TNS-12535: TNS:operation timed out
ns secondary err code: 12606
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=211.155.227.20)(PORT=2104))
2、原因
Whenever default timeouts are assigned to a parameter, there may be cases where this default does not work well with a particular application. However, some type of timeout on the connection establishment is necessary to combat Denial of Service attacks on the database. In this case, SQLNET.INBOUND_CONNECT__TIMEOUT and INBOUND_CONNECT_TIMEOUT_listenername were given default values of 60 seconds in Oracle 10.2. It is these timeout values that can cause the errors described in this note.
Also note that it is possilbe the reason the database is slow to authenticate, may be due to an overloaded Oracle database or node.
3、解决
1). set INBOUND_CONNECT_TIMEOUT_listenername=0 in listener.ora
2). set SQLNET.INBOUND_CONNECT_TIMEOUT = 0 in sqlnet.ora of server.
3). stop and start both listener and database.
4). Now try to connect to DB and observe the behaviour
4、具体操作
4.1)修改INBOUND_CONNECT_TIMEOUT_listenername
4.1.1)lsnrctl命令修改
LSNRCTL> set inbound_connect_timeout 0
LSNRCTL>save_config
4.1.2)vi修改
修改listener.ora文件,加入: INBOUND_CONNECT_TIMEOUT_listenername=0
4.2)修改SQLNET.INBOUND_CONNECT__TIMEOUT
修改sqlnet.ora文件,加入: SQLNET.INBOUND_CONNECT__TIMEOUT=0

参考文献: http://www.xifenfei.com/2011/06/warning-inbound-connection-timed-out-ora-3136.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle 服务器