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的解释:
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)

这是问什么呢?
有谁懂解答一下。
TNS-12560: TNS: 协议适配器错误同时伴有TNS-00584: 有效节点检查配置错误的解决方法的更多相关文章
- PHP错误Warning: Cannot modify header information - headers already sent by解决方法
这篇文章主要介绍了PHP错误Warning: Cannot modify header information - headers already sent by解决方法,需要的朋友可以参考下 今天在 ...
- 错误“Unexpected namespace prefix "xmlns" found for tag LinearLayout”的解决方法(转)
(转自:http://blog.csdn.net/bombzhang/article/details/12676789) 有一次升级开发工具后发现xml脚本出现错误“Unexpected namesp ...
- ubuntu下安装jdk(rpm版)错误: 找不到或无法加载主类 解决方法
1.官网下载jdk,linux64位,rpm格式的. 2.提取下载的文件,提取到一个目录下,我的是提取到了usr目录下了 3.终端输入:sudo gedit ~/.bashrc 会打开一个文本,在文本 ...
- win10连接宽带,拨号提示错误720:不能建立到远程计算机的连接,解决方法
使用账号密码登录时,一直报720错误.解决方法是卸载以下IP驱动.卸载之后重新连接就正常了.亲测有效
- MDK错误 Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_hd.o). 解决方法
此错误产生的位置在STM32工程所包含的汇编启动代码文件,如下图 熟悉ARM汇编的朋友一定可以看出,这是一个子程序调用语句,而调用的子程序正是SystemInit.出现错误的原因就是汇编器没有在代码之 ...
- 编译boost程序出现如下错误fatal error LNK1104: cannot open file 'libboost_system-vc100-mt-gd-1_54.lib'的解决方法
对于如下程序: #include <iostream> #include <boost/asio.hpp> #include <boost/date_time/posix ...
- [ORACLE错误]ORA-00054:resource busy and acquire with nowait specified解决方法
当某个数据库用户在数据库中插入.更新.删除一个表的数据,或者增加一个表的主键时或者表的索引时,常常会出现ora-00054:resource busy and acquire with nowait ...
- 错误“Unexpected namespace prefix "xmlns" found for tag LinearLayout”的解决方法
编写布局代码时发现xml脚本出现错误“Unexpected namespace prefix "xmlns" found for tag LinearLayout”,原来是一个na ...
- IIS自定义404错误页显示“系统找不到指定的文件”解决方法
在IIS站点属性里面设置了自定义的404错误页面为一个文件之后,有时一直不生效,总是提示这样一句话:“系统找不到指定的文件”. 其实这种错误也只是在某些网站程序中出现,其实解决办法很简单.这是由于II ...
随机推荐
- jq-css、class、属性操作
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- Python学习笔记三
一. 为什么要使用函数? 函数可以方便阅读代码. 函数可以减少重复代码. 函数可以减少管理操作,减少修改操作. 二. 函数分类: 内置函数:len() sum() max() min() ...
- main函数中System.exit()的作用
main()主函数再熟悉不过,了解java的人也都知道System.exit()方法是停止虚拟机运行.那这里为什么还要单独写一篇博客,都是源于朋友发的一张最近刚买的T恤照片,就是上面这张图.这是一个经 ...
- Python——文件读取
我们经常需要从文件中读取数据,因此学会文件的读取很重要,下面来介绍一下文件的读取工作: 1.读取整个文件 pi_digits.text 3.1415926535 8979323846 ...
- matplotlib 3D数据-【老鱼学matplotlib】
直接上代码: import numpy as np import matplotlib.pyplot as plt # 导入显示3D的库 from mpl_toolkits.mplot3d impor ...
- Kafka生产者发送消息的三种方式
Kafka是一种分布式的基于发布/订阅的消息系统,它的高吞吐量.灵活的offset是其它消息系统所没有的. Kafka发送消息主要有三种方式: 1.发送并忘记 2.同步发送 3.异步发送+回调函数 下 ...
- c++中字符串的反转
1.对于用char定义的字符串:使用string.h中的strrev函数 #include <iostream> #include <cstring> using namesp ...
- java集成swagger
概览: java集成Swagger Swagger-UI的使用 Springboot跨域请求的访问解决 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 W ...
- LINUX更改桌面的分辨率
命令行 输入xrandr 输入xrandr命令后可以看到系统的一些分辨率的列表, 和当前系统屏幕的分辨率信息,可以通过命令的 相应参数对系统分辨率的一些设置操作. xrandr -s 0 全屏 xra ...
- 洛谷.3733.[HAOI2017]八纵八横(线性基 线段树分治 bitset)
LOJ 洛谷 最基本的思路同BZOJ2115 Xor,将图中所有环的异或和插入线性基,求一下线性基中数的异或最大值. 用bitset优化一下,暴力的复杂度是\(O(\frac{qmL^2}{w})\) ...