ORA-03135: connection lost contact的解决方法

现象:

自从搭建了remote standby之后,每天都会收到primary的alert.log的报警邮件 ,内容是ORA-03135: connection lost contact.查看了错误发生的时间,在夜间两点.其余时间没有这个错误信息.以下分别是主库和从库的信息:

主库alert.log:

Tue Dec 11 02:01:10 2007
ARC1: Attempting destination LOG_ARCHIVE_DEST_3 network reconnect (3135)
ARC1: Destination LOG_ARCHIVE_DEST_3 network reconnect abandoned
Tue Dec 11 02:01:10 2007
Errors in file /u01/app/oracle/admin/prod/bdump/prod1_arc1_10383.trc:
ORA-03135: connection lost contact
FAL[server, ARC1]: Error 3135 creating remote archivelog file 'standby'
FAL[server, ARC1]: FAL archive failed, see trace file.
Tue Dec 11 02:01:11 2007
Errors in file /u01/app/oracle/admin/prod/bdump/prod1_arc1_10383.trc:
ORA-16055: FAL request rejected
ARCH: FAL archive failed. Archiver continuing
Tue Dec 11 02:01:11 2007
ORACLE Instance prod1 - Archival Error. Archiver continuing.
Tue Dec 11 02:01:16 2007

主库trace file信息:

*** 2007-12-11 02:01:10.994
Error 3135 creating standby archive log file at host 'standby'
*** 2007-12-11 02:01:10.994 60639 kcrr.c
ARC1: Attempting destination LOG_ARCHIVE_DEST_3 network reconnect (3135)
*** 2007-12-11 02:01:10.994 60639 kcrr.c
ARC1: Destination LOG_ARCHIVE_DEST_3 network reconnect abandoned
ORA-03135: connection lost contact
*** 2007-12-11 02:01:10.997 58901 kcrr.c
kcrrfail: dest:3 err:3135 force:0 blast:1
Error 1041 detaching RFS from standby instance at host 'standby'
kcrrwkx: unknown error:3135

从库alert.log:

Tue Dec 11 02:00:56 2007
RFS[19]: Possible network disconnect with primary database
Tue Dec 11 02:00:57 2007
RFS[17]: Possible network disconnect with primary database
Tue Dec 11 02:01:01 2007
Fetching gap sequence in thread 2, gap sequence 178-178
Tue Dec 11 02:01:07 2007
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[21]: Assigned to RFS process 31706

分析:

primary在两点开始执行RMAN备份.从alert.log里看,当时有日志切换发生.由于报丢失连接的standby是在异地,本地standby并没有这个错误,所以猜想可能的原因是当时系统繁忙,造成primary与standby之间的网络通信不畅,继而丢失连接.

解决:

由于该错误只在夜间主库做备份的时候发生,加上带宽因素,起先没有考虑处理问题.但在查看了日志里收藏的其他两篇文章后,发现该问题即使对异地standby也是有可能解决的.文中提到在standby的sqlnet.ora文件中设置SQLNET.EXPIRE_TIME参数,用来保持primary与standby的连接.按照这个提示,在异地standby上设置SQLNET.EXPIRE_TIME=10.重新启动listner.经过几天的的观察,错误没有再发生.

SQLNET.EXPIRE_TIME:

参数出处:
$ORACLE_HOME/network/admin/sqlnet.ora -> expire_time
时间单位:
分钟
取值范围:
大于0
默认取值:

用途解释:
死联接检测DCD(Dead Connection Detection)是 SQL*NetV2.1 和此版本以后的一个新特性, 当它检测到对方 c/s 或者s/s 联接意外终止时, 释放相关占用的资源。
DCD 起初是专为客户机没有从会话中断开联接的情况下断电的环境设计的。
DCD由服务端开始建立联接。 这时候SQL*Net 从参数文件中读取变量, 设置一个定时器定时产生信号。 这个时间间隔是sqlnet.ora文件中的SQLNET.EXPIRE_TIME提供的。
当定时器设定的时间到了之后, 服务器上的SQL*Net 发送一个探测包到客户端。(如果是数据库联接, 目的端的服务器发送探测包到另一端)。 探测包是由空的SQL*Net包组成, 不体现SQL*Net层任何数据, 但会在下一层的网络协议中产生数据流量。
如果客户端的联接仍然是活动的, 探测包被丢弃,计时装置复位。 如果客户端异常断掉,服务器将收到由发送探测包的调用发出的错误。

参考:

http://orcl-experts.info/troubleshooting.htm

http://forums.oracle.com/forums/thread.jspa?threadID=594409

http://developers.sun.com.cn/blog/yutoujava/entry/7

http://flyfan05.blog.163.com/blog/static/209939020077875727374/

http://oracle.**.com/exploiture/398192.html

 

 

时间: 2024-09-28 13:19:50

ORA-03135: connection lost contact的解决方法的相关文章

IIS ADODB.Connection 错误 800a0e7a错误解决方法

今天打开一个之前做的ASP网站提示如下错误: ADODB.Connection 错误 '800a0e7a' 未找到提供程序.该程序可能未正确安装. E:\项目资料\团委\//GONGQINGTUAN\ADMIN\../Conn.asp,行 28 造成此错误的原因是因为系统是64位的win7或win8.1所以会出现这个问题,解决方法如下:     找到IIS应用程序池,"设置应用程序池默认属性"->"常规"->"启用 32 位应用程序"

64位系统中IIS7运行ASP时出现ADODB.Connection 800a0e7a错误的解决方法_win服务器

今天将一个ASP网站拷贝到64位的Windows7中运行,IIS7安装都没有问题,可就是死活运行不了,总是出现ADODB.Connection错误"800a0e7a",真是奇怪,之前在XP中运行一点问题都没有的.起初以为是代码上的原因,于是写一段最简单的连接数据库的代码,还是出错,研究半天终于找到了解决方法,拿来分享. 原因是因为在64位Windows7操作系统中,IIS7应用程序池默认没有启用32位应用程序,而我们连接ACCESS数据库的驱动程序Microsoft.Jet.OLEDB

php使用pdo连接报错Connection failed SQLSTATE的解决方法_php技巧

本文实例讲述了php pdo_mysql连接报错Connection failed: SQLSTATE[HY000] [2002] No such file or directory问题的解决方法.分享给大家供大家参考.具体方法如下: 错误描述: Connection failed: SQLSTATE[HY000] [2002] No such file or directory 环境概述:MacOS xampp 搭建的开发环境 apache mysql php xampp 已支持mysql o

Win7宽带连接711错误解决方法

小编今天我在win7系统下遇到宽带拨号连接报错711:Cannot load Remote Access Service Connection Manager 解决方法如下: 第一步 打开"计算机",找到"C:WindowsSystem32LogFiles"文件夹,单击右键选择"属性"; 第二步 点击"安全"选项,选择"高级"; 第三步 点击"所有者"选项,选择"编辑"

解决方法:An error occurred on the server when processing the URL. Please contact the system administrator

  在WINDOWS7或SERVER2008上安装了IIS7.5,调试ASP程序时出现以下错误: An error occurred on the server when processing the URL. Please contact the system administrator 解决方法如下: 设置方法一: 以管理员身份运行CMD,将目录定位到%windir%system32inetsrv,然后执行appcmd set config -section:asp -scriptError

Android编程中出现The connection to adb is down问题的解决方法_Android

本文分析了Android编程中出现The connection to adb is down问题的解决方法.分享给大家供大家参考,具体如下: 1.报错: BUILD FAILED D:\workspace\ganji\build.xml:144: The following error occurred while executing this line: D:\workspace\ganji\build.xml:271: Unable to delete file D:\workspace\g

plsql连接oracle数据库报ora 12154错误解决方法_oracle

plsql连接oracle数据库报ora 12154错误 今天遇到一个问题,使用sqlplus能够连接到远程的数据库,但是使用plsql却连接不上,报错"ORA-12154: TNS: 无法解析指定的连接标识符" 解决方法如下: 1.先检查服务器端的监听服务是否打开,如果没有打开请启动其监听 客户端:tnsping <tns_name> 服务器Linux下: #>lsnrctl status 查看监听状态 #>lsnrctl start 启动监听 2.通过Sql

【ora 错误及解决方法】ORA-01652

ORA-01652:unable to extend temp segment by num in tablespace name 产生原因:ORACLE临时段表空间不足,因为ORACLE总是尽量分配连续空间,一旦没有足够的可分配空间或者分配不连续就会出现上述的现象.    解决方法:我们知道由于ORACLE将表空间作为逻辑结构-单元,而表空间的物理结构是数据文件,数据文件在磁盘上物理地创建,表空间的所有对象也存在于磁盘上.为了给表空间增加空间,就必须增加数据文件.先查看一下指定表空间的可用空间

求Connection reset by peer: socket write error解决方法?

问题描述 这个问题网上已经有很多了,原因已经很详细了,就是怎么解决都没有说,求教一个解决方法? 解决方案 解决方案二:帮顶换个版本的应用服务器试试如换个tomcat6.0或者tomcat5.5等等,如果还有这个问题存在,基本上能说明是代码问题解决方案三:不停的刷新客户打端解决方案四:这应该不是问题.一般来说,客户端浏览器访问服务器一个网址,服务器段忙一阵子后,要把html发往客户端浏览器,如果发到一半,客户端浏览器关闭了或者转到另一个网址,就会有这个"Connectionresetbypeer&