sqlnet.ora中的NAMES.DIRECTORY_PATH参数配置

休闲思考
0 567

NAMES.DIRECTORY_PATH常用的值有tnsnames,hostname,onames和ezconnect和ldap,cds,nis不常用的值,
默认值是(tnsnames,onames,hostname)。 

如果设置NAMES.DIRECTORY_PATH=(tnsnames),那么客户端就只会从tnsnames.ora查找
你要连接的字符串(db_alias)记录,如果tnsname.ora文件中没有此记录,则连接不上数据库。
 
如果设置NAMES.DIRECTORY_PATH=(tnsnames,hostname),那么客户端首先会从tnsnames.ora查找
你要连接的字符串(db_alias)记录,如果tnsname.ora文件中没有此记录,则尝试把你要连接的
字符串(db_alias)当作一个主机名,通过网络的途径去解析它的ip地址然后去连接
这个ip上GLOBAL_DBNAME=连接字符串(db_alias实例),当然这里连接字符串(db_alias)并不是一个主机名,最后会尝试以ezconnect的方式连接数据库。
  
例如sqlnet.ora配置如下:
    NAMES.DIRECTORY_PATH= (TNSNAMES,ezconnect)
则可以同时支持如下格式的访问:
 $ sqlplus scott/tiger@orcl
 $ sqlplus scott/tiger@service_IP(or hostname):1521/service_name   #ezconnect方式
当然采用第一种格式时需要正确配置tnsnames.ora,因为sqlplus需要在这里
匹配IP地址、端口、服务名等参数

限制IP对数据库的访问


(1)在sqlnet.ora文件中配置,比如:
限制IP地址192.168.131.109对数据库的访问
在sqlnet.ora文件中添加如下内容:
tcp.validnode_checking=yes
tcp.invited_nodes=(192.168.130.11)
tcp.excluded_nodes=(192.168.131.109)

第一行的含义:启用IP限制功能;
第二行的含义:允许访问数据库的IP地址列表,多个IP地址使用逗号分开,此例中我们写入数据库服务器的IP地址;
第三行的含义:禁止访问数据库的IP地址列表,多个IP地址使用逗号分开,此处我们写入欲限制的IP地址192.168.131.109。
然后重启监听生效。