如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

症状

ASAP命令卡住。这要求用户停下来,然后启动ASAP来处理命令asap_utils -d 7 显示 "Connecting not available"。ASAP重启后, 显示 "Available"。 NEP 诊断文件显示以下错误: >> 192407.160:51: LOW:ASC_cppalloc :348 :control/libcontrol/ctlib.c Successfully obtained a Session from the Pool >> 192407.160:51: LOW:ASC_cprpcexec_nobind() :2777:control/libasc/ctlib.c Executing RPC [SSP_nep_tech]. Retry Count [0] >> 192950.595:51:SANE:ORACLE ERROR :1227:control/libasc/ocilib.c -- ORACLE error OCIStmtExecute >> 192950.595:51:PROG:checkerr_returning_errcod:1658:control/libasc/ocilib.c Error - ORA-03113: end-of-file on communication channel Process ID: 43761 Session ID: 600 Serial number: 37 errcode[3113] >> 192950.595:51:SANE:ASC_cprpcexec_nobind() :2934:control/libasc/ctlib.c Error: RPC SSP_nep_tech failed. Error code [3113] >> 192950.595:51:SANE:ASC_cprpcexec_nobind() :3088:control/libasc/ctlib.c Error: DB Connection broken down due to Error[3113] 这只有在SARM连接池超过一个小时连接闲置后才会发生。因此看起来像在SARM数据库和ASAP之间的某处存在超时。

原因

如果ASAP和ASAP数据库之间有防火墙,防火墙空闲时间设置关闭空闲DB连接,造成在命令配置过程中NEP的RPC调用失败。结果命令卡住。 注意: Oracle数据库错误可能根据防火墙处理闲置超时的方式而有所不同。上述例子中,数据库错误为"ORA-03113: end-of-file on communication channel". 然而,其他错误信息如 "ORA-03135: connection lost contact" 也是有可能的。 对于那些Oracle RAC 数据库正被使用的情况,可参见"ORA-25408: can not safely replay call"。

解决方案

请采取以下行动: 1) 在SARM数据库中执行下列查询以查看IDLE_TIME是否被设为"UNLIMITED"。 SQL> select * from user_resource_limits; 如果没有,应设为"UNLIMITED"。 2) Check SQLNET.EXPIRE_TIME setting in $ORACLE_HOME/network/admin/sqlnet.ora on the DB server side. 该参数可设为整数 0-10。如该参数设为一个正整数,闲置n 分钟后,服务器会发送一个小10 字节探测包到客户端。如果这个包没有被确认,则连接将被关闭且相关的资源将被释放。 使用此设置,每10分钟在Oracle服务器和客户端(ASAP)之间有一次握手,以确保不会达到防火墙的空闲时间限制,连接不会被防火墙切断。 在下列文章中可找到有关防火墙blackout问题的更多详细信息: Resolving Problems with Connection Idle Timeout With Firewall (Doc ID 257650.1) Add SQLNET.EXPIRE_TIME=10 in $ORACLE_HOME/network/admin/sqlnet.ora on the DB server side. 3) 重启 ASAP.