分类: Oracle
2008-07-21 19:13:53
应用一直好好的,突然有一天,日志中开始时不时的出现ora-03135,奇了怪。查了一下——
bash-2.05$ oerr ora 3135
03135, 00000, "connection lost contact"
// *Cause: 1) Server unexpectedly terminated or was forced to terminate.
// 2) Server timed out the connection.
// *Action: 1) Check if the server session was terminated.
// 2) Check if the timeout parameters are set properly in sqlnet.ora.
在$ORACLE_HOME/network/admin/sample/sqlnet.ora中找了一下有这一小节——
########################
#sqlnet.expire_time = 10
########################
#
#Possible values: 0-any valid positive integer! (in minutes)
#Default: 0 minutes
#Recommended value: 10 minutes
#
#Purpose: Indicates the time interval to send a probe to verify the
# client session is alive (this is used to reclaim watseful
# resources on a dead client)
#
#Supported since: v2.1
于是,在sqlnet.ora中加入
sqlnet.expire_time = 10
重启listener
bash-2.05$ lsnrctl reload
……
The command completed successfully
观察两天,日志中未再报ora-03135错误了。
chinaunix网友2008-07-21 20:05:11
该错误主要原因为最近局里网络不稳定,如集群中任一主机PUBLIC端口断掉会导致与之绑定的VIP消失,造成假DOWN情况. 据说这种是裂脑(split-brain)现象:裂脑是由于集群中的节点之间无法正常通讯而导致的集群中出现的不一致的现象 如果出现这种情况,Oracle RAC会终止一个实例,来保证集群的一致性.