ORACLE 限制特定IP访问数据库

(1)在9i中真正起作用的是sqlnet.ora文件,我们修改sqlnet.ora其实是最好最快的方法。 

在sqlnet.ora中增加如下部分 
----------------------------- 
#### 来自 protocol.ora 的属性 #### 

tcp.validnode_checking=yes 

#允许访问的IP 
tcp.invited_nodes=(ip1,ip2……) 

#禁止访问的IP 
tcp.excluded_nodes=(ip1,ip2……) 

之后重新启动监听器即可 

需要注意的地方: 
1、tcp.invited_nodes与tcp.excluded_nodes都存在,以tcp.invited_nodes为主 
2、一定要许可或不要禁止服务器本机的IP地址,否则通过lsnrctl将不能启动或停止监听,因为该过程监听程序会通过本机的IP访问监听器,而该IP被禁止了,但是通过服务启动或关闭则不影响。 
3、修改之后,一定要重起监听才能生效,而不需要重新启动数据库 
4、任何平台都可以,但是只适用于TCP/IP协议 

(2)

在NET8采用TCP/IP协议时,在oracle9i服务器的sqlnet.ora中进行下列参数的设置可以限制或允许用户从特定的客户机连接到数据库中。
tcp.validnode_checking=yes|no
tcp.invited_nodes=(ipaddress|hostname)
tcp.excluded_nodes=(ipaddress|hostname)
其中tcp.validnode_checking参数确定是否对客户机IP地址进行检查;
tcp.invited_nodes参数列举允许连接的客户机的IP地址;
tcp.excluded_nodes参数列举不允许连接的客户机的IP地址。

(注意:在oracle8i中使用protocol.ora 文件,如果没有该文件,请自己建立一个。)

例如:

过对oracle9i参数文件的设置,可以控制访问计算机的ip地址。

 

在172.28.65.13这台机器上的配置文件$ORACLE_HOME/network/sqlnet.ora中增加:

#开启对ip地址的检查

tcp.validnode_checking=yes

#允许访问的ip

tcp.invited_nodes=(172.28.65.13)

#禁止访问的ip

ip.excluded_nodes= (172.27.65.15)

重启监听!

$ lsnrctl reload

LSNRCTL for Solaris: Version 9.2.0.4.0 - Production on 14-DEC-2005 16:59:19

Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
The command completed successfully.

在172.28.65.15这台机器上编辑$ORACLE_HOME/network/admin/tnsnames.ora文件:

dsf =
  (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(Host= 172.28.65.13)(Port = 1521))
     (CONNECT_DATA = (SID = ORCL))
)

在15上进行tnsping测试:

$ tnsping dsf

TNS Ping Utility for Solaris: Version 9.2.0.4.0 - Production on 14-DEC-2005 17:04:02

Copyright (c) 1997 Oracle Corporation.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(Host= 172.28.65.13)(Port = 1521)) (CONNECT_DATA = (SID = ORCL)))
TNS-12537: TNS:connection closed

连接测试:

$ sqlplus wacos/oss@dsf

SQL*Plus: Release 9.2.0.4.0 - Production on Wed Dec 14 17:04:24 2005

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

ERROR:
ORA-12537: TNS:connection closed

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值