本篇文章给大家谈谈sqlnet.ora,以及对应的知识点,小编致力于为用户带来全面可靠的币圈信息,希望对各位有所帮助!
1、sqlnet.ora 用在oracle client端,用于配置连接服务端oracle的相关参数.主要用于配置Oracle查找网络时的一些行为方式。sqlnet.ora可以删除,当它不存在时,会默认采用tnsnames.ora中的配置,或使用默认配置。
2、tnsnames.ora 用在oracle client端,用户配置连接数据库的别名参数,就像系统中的hosts文件一样。提供了客户端连接某个数据库的详细信息,主机地址,端口,数据库实例名等。
3、listener.ora 用在oracle server端,配置oracle服务端程序的监听办法,比如限制某些ip等参数。
linux/unix平台下默认没有sqlnet.ora文件,
此时是基于操作系统验证和oracle数据库身份验证的。
这个文件主要是用于windows平台区分操作系统认证 和 密码认证的
补充下,这个没有没关系的,更安全的做法没有**,如果有这个文件,并且配置了操作系统认证,如果登陆了服务器操作系统,可以直接进入数据库而且不需要数据库密码,这个是有安全隐患的。如果系统管理员要做坏事的话
sqlnet.ora文件用于配置网络连接时所使用的连接方式等
比如SQLNET.AUTHENTICATION_SERVICES= (NTS):
意思是可以以windows的本地操作系统用户认证登录
此外还有none(不允许通过os系统用户登录数据库,需要提供用户名及密码),all(允许所有的登录方式)
总之这是一个配置一些登录方式等信息的配置文件,不能删(如果误删,可以下载一个贴进去就好)
sqlnet.ora这个文件用于配置网络连接时所使用的连接方式等,比如SQLNET.AUTHENTICATION_SERVICES=(NTS),就是说可以以windows的本地操作系统用户认证登录,此外还有none(不允许通过os系统用户登录数据库,需要提供用户名及密码),all(允许所有的登录方式),就这
与防火墙类似的功能,Oracle 提供限制与允许特定的IP或主机名通过Oracle Net来访问数据库。这个功能由sqlnet.ora配置文件来实现。该文件通常$ORACLE_HOME/network/admin/ 目录下,与tnsnames.ora以及listener.ora位于同一路径。用法也比较简单。通过监听器的限制,实现轻量级访问限制,比在数据库内部通过触发器进行限制效率要高。
1. 实现方式
通过在sqlnet.ora文件中增加下列记录来实现
tcp.validnode_checking = yes
tcp.invited_nodes = (hostname1, hostname2,ip1,ip2)
tcp.excluded_nodes = (10.103.11.17,hostname1,hostname2)
当使用invited_nodes时,则所有没有包含在invited_nodes值中的IP或主机将无法通过Oracel Net连接到数据库。而如果使用
excluded_nodes时,除了excluded_nodes值中列出的IP和主机不可访问之外,其余的节点都可以访问数据库。通常情况下,更倾向于使
用excluded_nodes参数。
2. 注意事项
使用excluded_nodes与invited_nodes的一些特性
不支持通配符的使用(如hostname不能写为svhs0*,IP地址不能写为10.103.11.*)
excluded_nodes与invited_nodes为互斥方式,要么使用前者,要么使用后者
如果tcp.invited_nodes与tcp.excluded_nodes都存在,则tcp.invited_nodes优先
要将本地地址,或者Cluster群集其他节点的地址都加入到允许列表,否则监听器可能无法启动
修改之后,一定要重起监听或reload才能生效,而不需要重新启动数据库
仅提供对TCP/IP协议的支持
3. 实战演习
–使用tnsping demo92,连接正常
C:tnsping demo92
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 – Production on 25-JUN-2011 18:55:39
Copyright (c) 1997, 2010, Oracle. All rights reserved.
Used parameter files:
d:appRobinsonOracle_clientproduct11.2.0client_1
etworkadminsqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.103.11.20
9)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = demo92)))
OK (0 msec)
–查看配置文件
[oracle@test admin]$ more sqlnet.ora
# SQLNET.ORA Network Configuration File: /oracle/92/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
NAMES.DIRECTORY_PATH= (ONAMES, TNSNAMES, HOSTNAME)
#Added by Robinson
tcp.validnode_checking = yes
tcp.excluded_nodes = (10.103.11.17)
–重新reload
[oracle@test admin]$ lsnrctl reload listener_demo92
LSNRCTL for Linux: Version 9.2.0.8.0 – Production on 26-JUN-2011 10:03:11
Copyright (c) 1991, 2006, Oracle Corporation. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))
The command completed successful
–再次tnsping时,收到TNS-12547错误
C:tnsping demo92
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 – Production on 25-JUN-2011 19:01:21
Copyright (c) 1997, 2010, Oracle. All rights reserved.
Used parameter files:
d:appRobinsonOracle_clientproduct11.2.0client_1
etworkadminsqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.103.11.20
9)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = demo92)))
TNS-12547: TNS:lost contact
–下面的演示中如果excluded_nodes与invited_nodes都存在,则invited_nodes优先,不再演示
[oracle@test admin]$ more sqlnet.ora
# SQLNET.ORA Network Configuration File: /oracle/92/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
NAMES.DIRECTORY_PATH= (ONAMES, TNSNAMES, HOSTNAME)
#Added by Robinson
tcp.validnode_checking = yes
tcp.excluded_nodes = (10.103.11.17)
tcp.invited_nodes = (10.103.11.17)
相信经过小编小编对sqlnet.ora和的介绍,你对sqlnet.ora了解更加地透彻了,感谢你对我们地支持与关注!
文章标题:关于sqlnet.ora的信息
文章链接:https://www.btchangqing.cn/479593.html
更新时间:2023年03月04日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。