tcp.validnode_checking踩过的坑

Easter79
• 阅读 713

对Oracle 检查ip合法性,就必须在服务器端的sqlnet.ora文件中设置如下参数

TCP.INVITED_NODES=(10.0.0.36,10.0.0.1,10.0.0.35)  
TCP.EXCLUDED_NODES=(10.0.0.2)

启动监听出现如下错误

[oracle@oracle11 admin]$ lsnrctl status  
  
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 12-MAR-2018 18:32:13  
  
Copyright (c) 1991, 2009, Oracle.  All rights reserved.  
  
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))  
TNS-12541: TNS:no listener  
 TNS-12560: TNS:protocol adapter error  
  TNS-00511: No listener  
   Linux Error: 111: Connection refused

      错误输出并没有打印详细的信息,从lisenter.ora,tnsnames.ora入手,但没有发现文件是错误的。最后检查sqlnet.ora,发现TCP.INVITED_NODES参数有如下约束是官方文档没有给出的

tcp.validnode_checking踩过的坑

tcp.invited_nodes需要满足如下条件才可成功启动监听

1、需要设置参数TCP.VALIDNODE_CHECKING为YES才能激活该特性。

2、tcp.invited_nodes的值中一定要包括本机地址(127.0.0.1 / 10.0.0.36)或localhost,因为监听需要通过本机ip去访问监听,一旦禁止lsnrct将不能启动或停止监听。

3、不能设置ip段和通配符。

4、此方式只适合tcp/ip协议。

5、此方式是通过监听限制白名单的。

6、针对的是ip地址而不是其他(如用户名等)。

7、此配置适用于9i以上版本。本次踩坑是oracle11gr2。

8、修改配置后需要重启监听才可生效。

TCP.INVITED_NODES=(10.0.0.36,10.0.0.1)

      此时在启动监听不会出现报错了。而对与TCP.EXCLUDED_NODES参数并没有以上的限制,需要将禁止访问的ip传参即可。

点赞
收藏
评论区
推荐文章
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Easter79 Easter79
3年前
tidb集群某个节点报错之:node_exporter
今天启动集群tidb时出现一个错误,是某个tikv节点报错:node\_exporter9100.service failed一个节点的问题会导致整个集群启动失败。去此节点下的日志文件中查找,发现没有什么报错原因。无奈此时只能去系统日志中查看发生了什么问题果然发现了问题Jan1615:35:05ip1723126133
Wesley13 Wesley13
3年前
RAC环境单实例启动数据库收到ORA
     在RAC环境中,如果你在没有启动节点的集群服务的情况下单实例启动数据库,将收到类似如下的报错:\oracle@rhel1u01\$sqlSQL\Plus:Release10.2.0.5.0ProductiononTueApr215:00:272013Copyright(
Listener refused the connection with the following error:ORA-12514, TNS:listener does not currently
当我们更换ip地址时,会遇到这样的报错,这是由于ip地址改变引起的“ORA12541:TNS:无监听程序”错误。我们在WINDOWS.X64193000dbhome\network\admin\tnsnames.ora中修改其中你改变了的IP地址完了之后重启Oracle监听服务。或者你把你的IP地址改成文件中的固定IP地址,这样也可以连接上数据库。
Easter79 Easter79
3年前
SpringCloud 启动时报No active profile set, falling back to default profiles default
这在Spring程序启动时没有找到默认的配置文件所引发的错误,默认文件application.yml如下图: !这里写图片描述(https://oscimg.oschina.net/oscnet/4a822ce35ff8ed227a2c57f496787d95e5a.png)一般在项目中都会有多个,如有正式环境、测试环境等。如下
Wesley13 Wesley13
3年前
thinkphp3.2.3模板渲染支持三元表达式
thinkphp3.2.3模板渲染支持三元表达式{$status?'正常':'错误'}{$info'status'?$info'msg':$info'error'}注意:三元运算符中暂时不支持点语法。如下:           <divclass"modalhidefade"id'myModa
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Stella981 Stella981
3年前
Android 原生webview传递header前端H5如何接收
_开发背景_跟其他公司合作的一个项目,传递参数的方式为原生通过自定义header头参数,由前端来接收。_踩坑_1原生传参安卓原生传参的方式很简单,通过webview.loadUrl这个方法,如下:Map<String,StringmapnewHashMap
[ASP.NET Core] 请求大小限制
请求大小一般在文件上传的时候会用到,当然也防止传过来的参数过大情况。一、设置请求体的最大值如果不设置请求体大小默认是30000000bytes,大约28.6MB,当超出大小时会出现如下错误:错误:Failedtoreadtherequestform.Req
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k