通过SQLNET.ora文件限制Ip地址访问

本文介绍如何通过配置Oracle数据库中的SQLNET.ora文件实现IP地址访问限制,包括设置有效节点检查、邀请节点及排除节点的方法,并说明配置后的影响。

 

 在Oracle数据库中,我们可以通过SQLNET.ora文件实现地址访问限制。


在SQLNET.ora文件中设置以下参数可以实现IP访问限制:
tcp.validnode_checking=yes 
tcp.invited_nodes=(ip1,ip2......) 
tcp.excluded_nodes=(ip1,ip2......) 


在未设置这些参数前,测试数据库可以正常访问:

D:>tnsping orcl

TNS Ping Utility for 32-bit Windows: Version 10.2.0.3.0 - Production on -7-11月 -2009 20:12:12

Copyright (c) 1997, 2006, Oracle. All rights reserved.

已使用的参数文件,:
C:oracle.2.0networkadminsqlnet.ora

已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
OK (30 毫秒)

当设置参数之后:
tcp.validnode_checking=yes
tcp.invited_nodes=(192.168.1.100,192.168.1.101,192.168.1.102)

重新启动监听器使设置生效:

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

我们再来看客户端的访问:
D:>tnsping orcl

TNS Ping Utility for 32-bit Windows: Version 10.2.0.3.0 - Production on -7-11月 -2009 20:14:56
Copyright (c) 1997, 2006, Oracle. All rights reserved.


已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.33.11)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
TNS-12547: TNS: 丢失连接

需要注意的是一定要将本地地址,或者Cluster群集其他节点的地址都加入到允许列表,否则监听器可能无法启动。
修改参数之后,重启监听器设置即可生效。

通过监听器的限制,通常属于轻量级,比在数据库内部通过触发器进行限制效率要高。



 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值