zoukankan      html  css  js  c++  java
  • TNS-12560: TNS: 协议适配器错误同时伴有TNS-00584: 有效节点检查配置错误的解决方法

    :修改/home/oracle/app/product/11.2.0/db_1/network/admin/sqlnet.ora(与listener.ora同一目录)

    增加白名单:

    tcp.validnode_checking = yes
    tcp.invited_nodes = (10.204.250.11,10.204.250.12,10.204.250.13)

    重启listener时报错:

    https://blog.csdn.net/langkeziju/article/details/12652247

    oracle 提供了lsnrctl reload 命令,在下面两种情况

    1. 修改listener.ora

    2 .修改sqlnet.ora

    之后又不想停止监听,可以考虑lsnrctl reload命令!

    reload命令会重新读取listener.ora的内容,这个命令让用户不停止监听器的情况下,改变监听器的配置。

    但是对于sqlnet.ora的修改考虑以下情况:

    1. 如果之前sqlnet.ora没有被当前的监听器使用,这时必须关闭然后重启监听!

    2. 如果之前正在使用sqlnet.ora,那么lsnrctl reload 是比较快的方式。当前已经建立的连接不会受到影响,动态监听服务完成的非常快,也几乎不受影响。

    官方对于lsnrctl reload的解释:

    Use the RELOAD command to reread the listener.ora file. This command enables you to add or change statically configured services without actually stopping the listener.

    In addition, the database services, instances, service handlers, and listening endpoints that were dynamically registered with the listener will be unregistered and 

    subsequently registered again.

    意思和上面解释的差不多,在生产环境中对于sqlnet.ora文件的修改,保持必要的谨慎。

    之前做实验进行lsnrctl reload 并未达到理想的效果。在生产库上执行的时候是选择了lsnrctl start/stop.

    这两步操作的时间是很短的,3-4秒完成关闭和重启操作。

    开始认为是listener.ora中的HOST配置有误,原来是别名,改成本机IP地址,测试也不行。

    查了许多资料:

    最后查到对于TNS-00584错误的解释:

    Oracle Error :: TNS-00584
    Valid node checking configuration error

    Cause
    Valid node checking specific Oracle Net configuration is invalid.

    Action
    Ensure the hosts specified in the "invited_nodes" and "excluded_nodes" are valid. For further details, turn on tracing and reexecute the operation.

    http://www.itpub.net/thread-1019492-1-1.html

    明确是添加invited_nodes的内容有问题,又看到一篇文章:

    https://blog.csdn.net/klzs1/article/details/5964653?utm_source=blogxgwz6

    检查了/oracle/11.1.0/network/admin/listener.ora没问题。
    打开/oracle/11.1.0/network/admin/sqlnet.ora, 发现
    SQLNET.INBOUND_CONNECT_TIMEOUT=6
    tcp.validnode_checking=yes
    tcp.invited_nodes=(ODB,ODB1,CLUDB)
    中,ODB1 这个alias并没有在/etc/hosts中定义, 实际上ODB 和ODB1都是此机器的别名。将invited_nodes中的ODB1去掉,再启动,正常。或者在/etc/hosts 中加入这个定义也是可以的。
    ---------------------
    作者:klzs1
    来源:CSDN
    原文:https://blog.csdn.net/klzs1/article/details/5964653
    版权声明:本文为博主原创文章,转载请附上博文链接!

    要求必须在/etc/hosts中配置别名。

    修改sqlnet.ora,将ip改成alias别名:

    tcp.validnode_checking = yes 
    tcp.invited_nodes = (lnnanodomcrbak,lnnanodomcr,lnnanodomcr1,lnnanodwg,lnnanodwg1,localhost)

    同时配置/etc/hosts:

    [root@lnnanodomcrbak ~]# cd /etc/
    [root@lnnanodomcrbak etc]# vi hosts
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    10.204.250.13 lnnanodomcrbak
    10.204.250.12 lnnanodomcr
    10.204.250.14 lnnanodomcr1
    193.169.0.8 lnnanodwgbak
    193.169.0.7 lnnanodwg
    193.169.0.9 lnnanodwg1
    10.204.195.129 edoctor2
    10.204.197.129 edoctor1

     再启动listener,成功了:

    但是,其他ORACLE数据库sqlnet.ora又可以写IP:

    在/home/oracle/app/product/11.2.0/db_1/network/admin目录下面的sqlnet.ora文件末尾加上

    tcp.validnode_checking = yes 
    tcp.invited_nodes = (10.227.232.5,10.227.232.6,10.227.232.7,10.227.232.8,10.227.232.9,10.227.232.10,10.227.232.11,10.227.232.12,10.227.232.13,10.227.232.14,10.227.232.15,10.227.232.16,10.227.232.17,10.227.232.18,10.227.232.19,10.227.232
    .20,10.227.232.21,10.227.232.22,10.227.232.23,10.227.232.24,10.227.232.33,10.227.232.34,10.227.232.35,10.227.232.36,10.227.232.37,10.227.232.38,10.227.232.39,10.227.232.40,10.227.232.41,10.227.232.42,10.227.232.43,10.227.232.44,10.227.2
    32.45,10.192.192.171,10.190.23.138,10.190.23.158,10.190.23.162,10.190.23.163,10.190.23.166,10.190.23.168,10.190.23.169,10.190.23.170,10.190.145.244,10.190.145.243,10.190.26.206)

    这是问什么呢?

    有谁懂解答一下。

  • 相关阅读:
    小事引发的思考
    C++程序设计教程学习(0)-引子
    Cygwin安装
    PATHEXT环境变量简介
    Oracle Real Application Cluster
    SQLNET.AUTHENTICATION_SERVICES参数说明
    用神经网络拟合数据
    用PyTorch自动求导
    用PyTorch做参数估计
    深度学习基础(概念性)
  • 原文地址:https://www.cnblogs.com/wangziyi0513/p/10272256.html
Copyright © 2011-2022 走看看