sqlnet文件格式导致侦听无法启动

今天凌晨接到某省的一个电话,数据库进行MC service guard的切换,但是切换过去后,发现侦听无法启动,启动时侦听报错信息为:

检查配置,网络,都没有问题,浮动IP也是启动在10.203.41.11上,但是侦听就是起不来,检查/etc/hosts文件,也是没发现错误。

无奈之下只能开侦听的trace,呵呵,发现遇到侦听无法启动的问题,开trace是个很好的诊断方法。
在trace中发现:
[000001 04-SEP-2009 02:47:41:888] nttcon: entry
[000001 04-SEP-2009 02:47:41:888] nttcon: toc = 2
[000001 04-SEP-2009 02:47:41:888] nttcnp: entry
[000001 04-SEP-2009 02:47:41:889] ntvlin: entry
[000001 04-SEP-2009 02:47:41:889] ntvllt: entry
[000001 04-SEP-2009 02:47:41:889] ntvllt: Not successful in reading /oracle/app/oracle/product/9.2.0/network/admin/sqlnet.ora
[000001 04-SEP-2009 02:47:41:889] ntvllt: exit
[000001 04-SEP-2009 02:47:41:889] ntvlin: exit
[000001 04-SEP-2009 02:47:41:889] nttcnp: Validnode Table **NOT** used; err 0x1f6
[000001 04-SEP-2009 02:47:41:889] nttcnp: exit
[000001 04-SEP-2009 02:47:41:889] nttcon: exit
[000001 04-SEP-2009 02:47:41:889] nserror: entry
[000001 04-SEP-2009 02:47:41:890] nserror: nsres: id=0, op=65, ns=12532, ns2=12560; nt[0]=502, nt[1]=0, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0
[000001 04-SEP-2009 02:47:41:890] nsopen: unable to open transport
[000001 04-SEP-2009 02:47:41:890] nsbfr: entry

看来是和sqlnet.ora文件有关系了,该文件在前段时间安全加固中加上了IP鉴权:

咋一看,是没什么问题,其实,在实际的操作过程中,之前操作的同事可能把格式写错了。呵呵,这样的问题谁都预料不到。我们应该写成:

这样就正常了。

我们可以在自己的机器上(oracle 10.2.0.1)做测试:
(一)当sqlnet.ora写成:

侦听启动正常:

(二)当我们的sqlnet.ora写成:

侦听启动报错:

(三)当我们把sqlnet.ora写成:

侦听启动正常:

相关文章

4条评论

  1. 刚才写了一堆,没了….
    这个问题变态啊,你应该给Oracle提一下,不过9i不支持了,估计11i里应该改正了吧
    这次不好意思了哈,到了深圳请你吃饭!

  2. re Rill:-_-!!是11g ……..(啊~~啊~~~天上一只乌鸦飞过)

  3. 嗯…文本格式的问题会害死很多人的,当然包括linux下与windows下的文本编码都会让不熟的人痛苦好久.

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据