AIX下遭遇TNS-12531
上一篇:Redhat Linux网卡配置与绑定 下一篇:奇文共赏:我愿意做一辈子的程序员

AIX下遭遇TNS-12531

上周做HACMP的时候,由于修改了/etc/hosts中的内容,将原来的IP变成了HA的service IP,后面的名字也就从原来的hostname改成了hostname_SVC,也就是/etc/hosts中没有了IP和hostname的对应记录,然后启动监听的时候发现监听无法起来,一直挂起在那里:

$lsnrctl start

LSNRCTL for IBM/AIX RISC System/6000: Version 9.2.0.6.0 - Production on 24-NOV-2007 17:45:25

Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.

Starting /u01/oracle/product/9.2/bin/tnslsnr: please wait…

TNSLSNR for IBM/AIX RISC System/6000: Version 9.2.0.6.0 - Production
System parameter file is /u01/oracle/product/9.2/network/admin/listener.ora
Log messages written to /u01/oracle/product/9.2/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.168.168)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))

查看 /u01/oracle/product/9.2/network/log/listener.log,发现全是TNS-12531错误,并且在不停的增加中:

TNS-12531: TNS:cannot allocate memory
24-NOV-2007 17:53:10 * 12531
TNS-12531: TNS:cannot allocate memory
24-NOV-2007 17:53:10 * 12531
TNS-12531: TNS:cannot allocate memory
24-NOV-2007 17:53:10 * 12531
TNS-12531: TNS:cannot allocate memory
24-NOV-2007 17:53:10 * 12531
TNS-12531: TNS:cannot allocate memory

开玩笑,系统已经切换到备库,怎么可能连起监听的内存都没有了,显然不是内存不足的问题。后来还是piner想起以前也出现过相同的状况,就是/etc/hosts中缺乏hostname的记录引起的,果然一加上就正常了。注意到listener.ora中用的是IP,不是hostname。

今天又测试了一把,在AIX5.3和Oracle9206中该问题是可以重现的,在Redhat Linux Enterprise 4中没有问题。查metalink,Note:219206.1上说Unix平台都有这个问题,另外还有一个可能的原因就是oracle用户没有权限读取/etc/hosts文件。有其他平台如HP-UX,Solaris的朋友可以帮忙测试一下^_^

本文网址:http://www.ningoo.net/html/2007/aix_encounters_tns_12531.html

订阅到Google | 收藏到Del.icio.us | 推荐到鲜果

相关文章 随机文章

本文Tags: ,

2 条评论


(Required)
(Required, will not be published)