Oracle 通过sqlnet.ora文件控制对Oracle数据库的访问

一、通过sqlnet.ora文件控制对Oracle数据库的访问

出于数据安全考虑,对Oracle数据库的IP做一些限制,只有固定的IP才能访问。
修改$JAVA_HOME/NETWORK/ADMIN/sqlnet.ora文件
增加以下内容(红色表示注释):
#开启ip限制功能
tcp.validnode_checking=yes
#允许访问数据库的IP地址列表,多个IP地址使用逗号分开
tcp.invited_nodes=(192.168.1.110)
#禁止访问数据库的IP地址列表,多个IP地址使用逗号分开
tcp.excluded_nodes=(192.168.1.111)
然后重启监听即可。
注:
1、第一行必需写,任何平台都可以,但是只适用于TCP/IP。
2、第二行和第三行任写一行即可,如果tcp.invited_nodes与tcp.excluded_nodes都存在,以tcp.invited_nodes为主。
3、不要禁止服务器本机的IP地址,否则通过lsnrctl将不能启动或停止监听,因为该过程监听程序会通过本机的IP访问监听器。

二、Oracle sqlnet.ora配置

sqlnet.ora的作用(官网指出的)

1.限制客户端访问(如指定客户端域为不允许访问)

2.指定命名方法(local naming,directory nameing...)的优先级

3.启用日志及跟踪(log and trace)功能

4.通过特定进程来路由客户端连接

5.配置外部命名(第三方连接程序,如c语言写的)参数

6.配置Oracle的高级安全

7.使用协议特定的参数限制对数据库的访问

sqlnet配置文件的存放位置一般在:$ORACLE_HOME/network/admin目录下

常用参数设置

1.设置windows下允许使用windows nt本地认证

SQLNET.AUTHENTICATION_SERVICES=(nts)

2.设置Oracle客户端连接串命名查找顺序

NAMES.DIRECTORY_PATH=(tnsnames, onames,ezconnect)

允许的值有:

1)tnsnames使用客户端的tnsnames.ora解析

2)ldap使用目录访问协议解析,需要有目录服务

3)ezconnect or hostname,允许使用tcp/ip连接串,包含主机名,端口,服务名

4)cds分布式环境的数据库名

5)nis (Network Information Service (NIS) external naming method),主要用于外部程序解析

6)onames:通过Oracle Name Server解析

3.设置客户端连接会话超时时间(单位分钟)

定期检测客户端是否还是活动的,设置为0不检测

SQLNET.EXPIRE_TIME = 10

另外还有:

客户端建立连接超时时间(单位秒,默认60)

SQLNET.INBOUND_CONNECT_TIMEOUT=10

Oracle建议在listener.ora中也进行配置

接受超时时间(单位秒)

SQLNET.RECV_TIMEOUT=3

发送超时时间(单位秒)

SQLNET.SEND_TIMEOUT=3

4.客户端限制

是否进行限制(默认no):

TCP.VALIDNODE_CHECKING

如:TCP.VALIDNODE_CHECKING=yes

限制客户端访问

TCP.EXCLUDED_NODES=(hostname | ip_address, hostname | ip_address, ...)

如:TCP.EXCLUDED_NODES=(finance.us.acme.com, mktg.us.acme.com, 144.25.5.25)

允许客户端访问,会覆盖限制访问

TCP.INVITED_NODES=(hostname | ip_address, hostname | ip_address, ...)

如:TCP.INVITED_NODES=(sales.us.acme.com, hr.us.acme.com, 144.185.5.73)

5.设置立即发送

设置等待一段时间或者数据包凑够多大才会一起发送,或者可以让数据立即发送

TCP.NODELAY=yes

6.设置使用专享连接还是公用链接

设置为on会在客户端连接串后加上(SERVER=dedicated)

USE_DEDICATED_SERVER=on/off

整理自:

https://www.cnblogs.com/mengxiaohu/p/7727954.html

上一篇:J - Abbott's Revenge 搜索 寒假训练


下一篇:优雅的处理Android数据库升级的问题