ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ora-12518错误小结

ora-12518错误小结

原创 Linux操作系统 作者:myownstars 时间:2012-02-16 16:11:42 0 删除 编辑

Rman 连接catalog数据库的时候报告

ORA-12518: TNS:listener could not hand off client connection

使用tnsping则可以ping通

导致这种错误的原因大致有以下几种:

1

数据库load过高,导致连接无法完成authentication,该阶段需要调用一系列递归语句;当数据库正在经历比较严重的latch contention(如row cache lock),可能会在有效时间内无法完成解析

2

Dedicated mode: 数据库process值达到上限,调大此值并rebouce数据库后生效

MTS: dispatcher到达连接上限,可以加大dispatcher数量

3

内存不足,连接进程无法获取到足够多的内存

4

网速过慢

使用TCP/IP需要三次握手,可尝试改为IPC;

另外可调大INBOUND_CONNECT_TIMEOUT值(listener.ora/sqlnet.ora),10.2.0.1后默认为60秒(据说是为了防止DOS攻击而设).

可在客户端运行telnet serverIP port(即telnet *.*.*.* 1521),会在INBOUND_CONNECT_TIMEOUT规定的时间timeout

 

 

通常遇到此类问题时,采用以下步骤:

如果能登陆oracle server,尝试本地连接数据库;

本地连接可以很快登陆数据库,则查看网络是否通畅(通常tnsping并不能反映实际情况);

本地连接很慢,查看数据库目前是否压力很大,有没有比较严重的latch contention;

如果不能登陆,则极有可能是数据库进程达到上限,查看alertlog进一步判断;

若还不能解决问题,则开启listener跟踪文件,设置以下参数并reload监听器

TRACE_LEVEL_ = 16
TRACE_FILE_ =
TRACE_DIRECTORY_ =

TRACE_TIMESTAMP_CLIENT = ON

 

另外有可能是bug作祟,比如windows上的10.2G,每个dedicated连接都消耗内存约2.14M,高于10.1的1.5M,会导致内存不足进而触发此错误(Bug 5108234)

 

注:通常tnsping只是为了验证listener是否启动,不可用来进行网速检验;

其工作原理如下:

 Tnsping向listener地址发送一个连接包(NSPTCN);listener接受后返回一个拒绝包(NSPTRF);tnsping计算往返时间并显示出来

DNS解析时间过长/网速过慢/监听器太忙/服务器压力过大 都可以导致tnsping慢

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

请登录后发表评论 登录
全部评论

注册时间:2010-03-18

  • 博文量
    375
  • 访问量
    3320766