通过在sqlnet.ora文件中增加下列记录来实现:
注:sqlnet.ora在$ORACLE_HOME/network/admin/目录下
tcp.validnode_checking = yes
tcp.invited_nodes = (hostname or ip)
tcp.excluded_nodes = (hostname or ip)
当使用invited_nodes时,则所有没有包含在invited_nodes值中的IP或主机将无法通过Oracel Net连接到数据库。而如果使用excluded_nodes时,除了excluded_nodes值中列出的IP和主机不可访问之外,其余的节点都可以访问数据库。
需要注意的是:
1)不支持通配符的使用(如hostname不能写为svhs0*,IP地址不能写为10.103.11.*)
2)excluded_nodes与invited_nodes为互斥方式,要么使用前者,要么使用后者
3)如果tcp.invited_nodes与tcp.excluded_nodes都存在,则tcp.invited_nodes优先
4)修改之后,一定要重起监听或reload才能生效,而不需要重新启动数据库
5)仅提供对TCP/IP协议的支持
6)要将本地地址,或者Cluster群集其他节点的地址都加入到允许列表,否则监听器可能无法启动