通过Oracle数据库访问控制功能的方法(Database access control)
修改sqlnet.ora文件中的IP列表后都需要重启监听才能生效。
(原文是: Any changes to the values requires the TNS listener to be stopped and restarted.
但通过测试单机情况下lsnrctl reload同样可以生效。
测试11G R2 RAC环境下lsnrctl reload不但不会使得更新内容生效,而且还将已经注册到监听中的服务清掉,导致数据库无法连接。因此rac环境下不能使用lsnrctl reload命令,必须重启监听。
另外,11G R2 RAC上有两种监听,本地监听和SCAN监听,想让控制列表的生效,必须重启对应的监听,如果修改控制列表后,grid用户下(注意11g rac对监听的启停必须用grid用户,无论是lsnrctl还是srvctl) lsnrctl stop - lsnrctl start 来重启了本地监听,那只有通过vip和本地public IP发起的数据库访问才会应用控制列表的更新内容,对于通过SCAN IP发起的访问并不应用更新内容,同样如果lsnrctl stop listener_scan1 - lsnrctl start listener_scan1 重启scan监听,则值对scan ip发起的访问适用更新后的访问控制列表。
因此对于实际的生产可能同时存在适用VIP和使用SCAN IP访问的情况,因此需要所有监听全部重启,
srvctl [stop|start] listener -n [rac1|rac2|...]
srvctl [stop|start] scan_listener
并且对于RAC要记得修改所有节点的sqlnet.ora文件。)
启动监听是sqlnet.ora中TCP.INVITED_NODES中的域名和IP必须是可以解析的,但并不一定要可以连接,否则监听无法启动成功,提示TNS-12560: TNS:protocol adapter error。
经过测试TCP.EXCLUDED_NODES中的ip或者域名如果不能解析并不影响监听的启动。
所谓的不能解析如 IP写成了 192.168.1922.11 ,或者写了个域名 xxfdfd 但是无法解析成IP地址的情况。
TCP.INVITED_NODES的优先级高于TCP.EXCLUDED_NODES,即当一个IP同时出现在拒绝和允许列表里,那该IP允许访问。
TCP.INVITED_NODES、TCP.EXCLUDED_NODES每项的IP列表格式都只能写一行不能换行。
数据库服务器自己的IP地址建议加到INVITED_NODES列表中,对于RAC环境则把public ip、vip、scan ip都加到INVITED_NODES列表中。
对于11G rac环境,该控制功能要设置在GRID_HOME/network/admin中的sqlnet.ora中,而不是Oracle HOME中。
参考
http://docs.oracle.com/cd/E11882_01/network.112/e41945/profile.htm#NETAG091
Note 462933.1 What is TCP_VALIDNODE_CHECKING and How to Use It
RAC: TCP.VALIDNODE_CHECKING Failing after Listener Reload (文档 ID 2109789.1)
Listener Fails to Start Using TCP.VALIDNODE_CHECKING: TNS-12532 TNS:Invalid Argument (文档 ID 287500.1)
更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
通过Oracle数据库访问控制功能的方法(Database access control)的更多相关文章
- 设置sqlplus访问远程oracle数据库的最快方法
设置sqlplus访问远程oracle数据库的最快方法 时间:2010-01-21 10:57来源: 作者: 点击: 2次 设置sqlplus访问远程oracle数据库的最快方法,如果要连接远程数据库 ...
- sqlplus命令行登录oracle数据库的N种方法盘点
欢迎访问我的个人博客IT废柴,本文永久链接移至:sqlplus命令行登录oracle数据库的N种方法盘点 sqlplus有几种登陆方式Oracle数据库, 比如: 1.以操作系统权限认证的oracle ...
- Oracle数据库访问客户端 sqldeveloper-18.4.0-376.1900-x64 下载
Oracle数据库访问客户端 sqldeveloper-18.4.0-376.1900-x64 下载地址:https://pan.baidu.com/s/1RnHVuMcCNZQ7ncHLKDJ33Q
- Asp.Net 应用程序在IIS发布后无法连接oracle数据库问题的解决方法
asp.net程序编写完成后,发布到IIS,经常出现的一个问题是连接不上Oracle数据库,具体表现为Oracle的本地NET服务配置成功:用 pl/sql 等工具也可以连接上数据库,但是通过浏览器中 ...
- Oracle数据库访问客户端 sqldeveloper-19.2.1.247.2212-x64 下载
Oracle数据库访问客户端 sqldeveloper-19.2.1.247.2212-x64 地址:https://pan.baidu.com/s/1iojCVxwXocyM8oObTf0xaw 这 ...
- 转:Oracle R12 多组织访问的控制 - MOAC(Multi-Org Access Control)
什么是MOAC MOAC(Multi-Org Access Control)为多组织访问控制,是Oracle EBS R12的重要新功能,它可以实现在一个Responsibility下对多个Opera ...
- Oracle R12 多组织访问的控制 - MOAC(Multi-Org Access Control)
什么是MOAC MOAC(Multi-Org Access Control)为多组织访问控制,是Oracle EBS R12的重要新功能,它可以实现在一个Responsibility下对多个Opera ...
- Oracle数据库访问其他用户下的表,不加表所属的用户名的实现方法
一. 问题: 如何实现在Oracle数据库中访问其他用户的表时不需加表所属的用户名 二. 举例: Oracle里面的用户A,要访问用户B的表需要带用户B的前缀,如访问用户B的 TEST表,需要这样访问 ...
- Oracle 数据库的组成(instance+database)
Oracle服务器是一种对象关系数据库管理系统,它为信息管理提供开放.综合.集成的方法. Oracle服务器中有多种进进程.内存结构和文件: Oracle服务器由一个Oracle实例和一个Oracle ...
随机推荐
- Spring MVC框架下在java代码中访问applicationContext.xml文件中配置的文件(可以用于读取配置文件内容)
<bean id="propertyConfigurer" class="com.****.framework.core.SpringPropertiesUtil& ...
- 第三方cookie与搜索引擎+网站广告原理
cookie 摘自 : http://www.williamlong.info/archives/3125.html 关于cookie的安全知识 :http://shaoshuai.me/tech/2 ...
- swap文件
# dd if=/dev/zero of=/tmp/myswap bs=1M count=4096 # mkswap /tmp/myswap # swapon /tmp/myswap # vim /e ...
- linux:/etc/rc.local 不能自动启动问题
前段时间安装LNMP环境,配置/etc/rc.local的时候配置了启动mysql.nginx.php以及关闭防火墙,可结果重启了七八次还是自启动不了后来终于找到原因了 看下图: /etc/rc.lo ...
- scrollView中的pagingEnabled的功能
pagingEnabled是分页设置,以页为单位滑动,即自动到下一页的开始边界
- 转:python webdriver API 之操作测试对象
一般来说,所有有趣的操作与页面交互都将通过 WebElement 接口,包括上一节中介绍的对象定位,以及本节中需要介绍的常对象操作.webdriver 中比较常用的操作元素的方法有下面几个: cle ...
- 传递闭包+二进制位运算+floyd(poj2570)
Fiber Network Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3125 Accepted: 1436 Des ...
- 【IOS】1.学前准备
OC 支持 GC 只在Mac OS X好用. IOS 不支持GC. iPhone开发环境必须是 Mac OS X Xcode包括 Xcode.app iPhone SDK iPhone Simulat ...
- 每天一个shell知识--数组
1.shell中数组的定义: 数组名=(value value1 value2 ) 也可以单独的设定数组的分量: arrayL[0]=value arrayL[1]=value1 2.${arrayL ...
- URAL 1146 Maximum Sum(DP)
Given a 2-dimensional array of positive and negative integers, find the sub-rectangle with the large ...