ORA-12710 错误深入解析

        前一段一直在忙11g CBO的测试和多个项目杂事,没有太多时间更新该博客

了。想想还是不能太懒了,就把前几天替客户解决ora-12710错误分析张贴出来。

 问题:
   
        客户使用应用程序时候,每天多次发生数据库连接错误ora-12710,该问题持

续发生了很长一段时间,一直没有找到解决的办法。

日志信息:
     
    listener.log:没有出现相关的连接错误信息

    alertSID.log:没有出现相关连接错误信息

    sqlnet.log的错误信息如下:
---------------------------------------------------------------------------
Fatal NI connect error 12170.

  VERSIOTNS for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Production
  Time: 05-MAY-2011 21:34:38rotocol Adapter for IBM/AIX RISC System/6000: Versio
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12535
    TNS-12535: TNS:operation timed out
    ns secondary err code: 12560
    nt main err code: 505
    TNS-00505: Operation timed out
    nt secondary err code: 78
    nt OS err code: 0
  Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=XXX)(PORT=60871))

问题分析及解决:

1、该错误发生没有一定的时间规律,有时候一个小时多次,有时候一个小时没有;

2、从listener.log中没有看到相关错误日志,可以基本排除连接配置的问题

3、ns secondary code 12560是net session错误,ns有两层(primary和

secondary)属于第二层错误;NT是网络交易,有nt(1), nt(2)和nt(3),其错误代码

是78。

4、其他公司的DBA一直认为是防火墙的配置有问题,网管方面认为已经全放开了,

不可能是他们问题。其实防火墙是会造成该问题出现,通常需要将SQLNET fixup协

议,DPI,SQLNET inspection,SQL fixup,SQL AL(juniper)关闭。但我的经验

是如果是防火墙的功能,其最终的错误代码不应该是78,而是100多(这个是猜

测,没有正式的文档进行考证)。

5、错误代码78,我通常是认为因为连接数量的限制或者连接内存的限制而不让连

接,所以开始查参数processes的设置问题,检查设置为1000,远远满足客户现有

需要,检查alert.log日志中没有该错误,通常表示应用程序中不存在启动多个连接命

令,所以也排除了应用造成的问题,所以焦点聚集在连接内存限制。

6、登陆到oracle用户,使用ulimit -a ,发现AIX用户下memory=32M,修改/etc

/security/limits文件中oracle用户rss=-1。修改后问题消失。

总结:

     搞技术的人有一个通病就是往往把问题复杂化,我最近碰到的几个问题,看是非

常复杂,但最终的解决结果都是非常简单。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/354732/viewspace-695018/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/354732/viewspace-695018/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值