当前位置:  数据库>oracle

在Oracle数据库上设置限制ip地址访问以及需要注意的事项

    来源: 互联网  发布时间:2017-05-07

    本文导语: 近期应客户要求,需要对访问生产环境的Oracle数据库的ip做一些限制,即:只有通过审核的ip才能访问数据库,其他ip一律禁止访问数据库。 在oracle中可以通过sqlnet.ora文件的设置或者通过触发器可以实现对特定ip的限制访问。 1、...

近期应客户要求,需要对访问生产环境的Oracle数据库的ip做一些限制,即:只有通过审核的ip才能访问数据库,其他ip一律禁止访问数据库。

在oracle中可以通过sqlnet.ora文件的设置或者通过触发器可以实现对特定ip的限制访问。

1、修改sqlnet.ora文件:

步骤:

a)测试在未设置前某一客户端的登录数据库情况:

C:Documents and SettingsThinkPad>sqlplusapp/app@uat17

SQL*Plus: Release 9.2.0.1.0 - Production on Thu Aug 30 11:02:21 2012

Copyright (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 options


SQL> select name from v$database;

NAME
---------
PROD

SQL>

--说明连接成功

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 reload

LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 30-AUG-2012 10:17:43

Copyright (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@uat17

SQL*Plus: Release 9.2.0.1.0 - Production on Thu Aug 30 11:12:46 2012

Copyright (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 sysdba

create 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 ;
/









但是这个只能是针对某一用户做限制的。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • Oracle中serveroutput参数一次设置永久保存方法
  • window中oracle环境变量设置方法分享
  • 在jsp文件中怎么设置oracle的路径:很简单的,只是因为我不会;
  • Linux平台下Oracle9i数据库正确显示中文的设置
  • 急急急!!!Solaris中JSP运行环境(tomcat)应如何设置才能使jsp连接到ORACLE???
  • 驱动程序找不到Class.forName("oracle.jdbc.driver.OracleDriver");,在程序中还要设置什么?
  • 在Linux系统下远程连接oracle的防火墙设置
  • PB7 连接 Oracle 的设置方法
  • 将oracle用户密码设置成只有数字的
  • 如何设置令oracle RH开机自动启动============>>??
  • Oracle10g自动归档设置
  • Oracle全文索引设置
  • Oracle数据库设置任务计划备份一周的备份记录
  • 要装oracle,设置好环境变量。之后就啥命令也用不了了
  • Linux下安装ORACLE 10g前的系统设置脚本
  • Linux下设置Oracle 10g 服务以及实例自动启动
  • Oracle主键的设置
  • oracle客户端环境变量设置的问题
  • Linux Oracle 设置LOCK_SGA
  • Oracle 12c发布简单介绍及官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • oracle 11g最新版官方下载地址
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • Oracle 数据库开发工具 Oracle SQL Developer
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,