近期应客户要求,需要对访问生产环境的Oracle数据库的ip做一些限制,即:只有通过审核的ip才能访问数据库,其他ip一律禁止访问数据库。在oracle中可以通过sqlnet.ora文件的设置或者通过触发器可以实现对特定ip的限制访问。1、修改sqlnet.ora文件:步骤:a)测试在未设置前某一客户端的登录数据库情况:C:Documents and SettingsThinkPad>sqlplusapp/app@uat17SQL*Plus: Release 9.2.0.1.0 - Production on Thu Aug 30 11:02:21 2012Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> select name from v$database;NAME
---------
PRODSQL>--说明连接成功b)通过对文件:$ORACLE_HOME/network/admin/sqlnet.ora文件添加:tcp.validnode_checking=yes
tcp.invited_nodes=(192.168.1.61)
tcp.excluded_nodes=(192.168.1.90)说明:第一行的含义:开启IP限制功能;
第二行的含义:允许访问数据库的IP地址列表,多个IP地址使用逗号分开,此例中我们写入数据库服务器的IP地址;
第三行的含义:禁止访问数据库的IP地址列表,多个IP地址使用逗号分开,此处我们写入欲限制的IP地址192.168.1.90。
c)重新启服务器端listener,或者lsnrctl reload方式使刚才的修改在监听中生效。
[oracle@APPDB-PROD admin]$ lsnrctl reloadLSNRCTL for Linux: Version 10.2.0.4.0 - Production on 30-AUG-2012 10:17:43Copyright (c) 1991, 2007, Oracle. All rights reserved.Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
The command completed successfully
d)验证客户端(192.168.1.90)登录情况:C:Documents and SettingsThinkPad>sqlplusapp/app@uat17SQL*Plus: Release 9.2.0.1.0 - Production on Thu Aug 30 11:12:46 2012Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.ERROR:
ORA-12537: TNS:connection closed
Enter user-name:报:ORA-12537: TNS:connection closed错误,说明限制成功。注意事项:1).上文中添加的第一项必须要写,任何平台都可以,但是只适用于TCP/IP协议。2).第二行和第三行可以任意写一行,如果tcp.invited_nodes与tcp.excluded_nodes都存在,以tcp.invited_nodes为主.3).一定要许可或不要禁止服务器本机的IP地址,否则通过lsnrctl将不能启动或停止监听,因为该过程监听程序会通过本机的IP访问监听器,而该IP被禁止了,但是通过服务启动或关闭则不影响,如果是rac最好将物理ip和虚拟ip都需要准许访问。2.通过触发器实现:conn /as sysdbacreate or replace trigger check_ip
after logon on app.schema
declare
ipaddr VARCHAR2(30);
begin
select sys_context("userenv", "ip_address") into ipaddr from dual;
if ipaddr like ("192.168.1.90") then
raise_application_error("-20001", "you can not logon by app");
end if;
end ;
/但是这个只能是针对某一用户做限制的。Oracle自动主键功能Oracle rac11.2.0.3.0的vip在重启后不能马上在其他网段ping 通的问题相关资讯 Oracle基础
- Oracle基础介绍及常用相关SQL*PLUS (03月11日)
- Oracle 角色的两个特性和误区 (09/04/2012 05:56:16)
- Oracle rac11.2.0.3.0的vip在重启 (09/02/2012 10:00:39)
| - Oracle中删除用户遇到的问题 (09/08/2012 20:01:42)
- IMP-00008: unrecognized (09/02/2012 10:03:25)
- 查看Oracle某个进程的环境变量 (08/31/2012 11:54:36)
|
本文评论 查看全部评论 (0)