欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 限制连接的IP

程序员文章站 2022-05-24 23:08:40
...

在Oracle中,可以控制哪些IP可以连接数据库,哪些IP不能连接数据库。在9i及以后中,单纯的设定允许的IP和禁止的IP,修改sqlnet.o

在Oracle中,可以控制哪些IP可以连接数据库,哪些IP不能连接数据库。在9i及以后中,单纯的设定允许的IP和禁止的IP,修改sqlnet.ora是最好最快的方法

1、修改sqlnet.ora文件

在linux版本的oracle中,默认是没有sqlnet.ora这个文件的
$ cd $ORACLE_HOME/network/admin
$ vi sqlnet.ora
#增加如下部分
tcp.validnode_checking=yes

#允许访问的IP
tcp.invited_nodes=(192.168.100.252,192.168.100.253)

#禁止访问的IP
tcp.excluded_nodes=(192.168.100.222,192.168.100.232)


2、重启监听
$ lsnrctl stop
$ lsnrctl start

这个时候,就只有ip地址为192.168.100.252以及ip地址为192.168.100.253的客户端可以连接数据库,而ip地址为192.168.100.222以及ip地址为192.168.100.232的客户端则无法连接数据库。

当其他IP的客户端使用PL/SQL连接数据库的时候会显示如下报错:

需要注意的问题:
1、 需要设置参数为YES,这样才能激活。
2、 建议设置允许访问的IP,因为IP地址有可能被随意修改,,就不能起到自己的目的。
3、 TCP当参数TCP.INVITED_NODES和TCP.EXCLUDED_NODES设置的地址相同的时候将覆盖TCP.EXCLUDED_NODES设置。
4、 需要重启监听器才能生效。
5、 这个方式只是适合TCP协议。
6、 这个配置适用于9i以上版本。在9i之前的版本使用文件protocol.ora。
7、 在服务器上直接连接数据库不受影响。
8、 这种限制方式事通过监听器来限制的。
9、 这个限制只是针对IP检测,对于用户名检测事不支持的。