Oracle 数据库限制IP地址连接

这篇具有很好参考价值的文章主要介绍了Oracle 数据库限制IP地址连接。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、基础环境

  操作系统:Windows 或 Linux
  数据库版本:Oracle Database 11.2.0.1.0 及以上版本

二、适用场景

  出于数据安全考虑,有时候需要对连接 Oracle 数据库的客户端 IP 做一些限制,只有白名单中的IP才能访问。不在白名单中的IP地址连接的时候提示:ORA-12537 TNS 连接已关闭。

三、操作步骤

  1、从需要允许连接的客户端远程登录数据库。

  2、查询正在连接的客户端IPv4地址,默认情况下,从 v$session 中不能直接获得客户端 IP地址,但可以在数据库中创建一个追踪客户端 IP 地址的触发器,以 system 用户登录数据库,执行以下代码创建触发器:

create or replace trigger on_logon_trigger after logon on database  
begin  
    dbms_application_info.set_client_info(sys_context('userenv', 'ip_address'));  
end;   
/  

  3、查询正在连接Oracle数据库的客户端信息

select username,program,machine,client_info  
from v$session  
where username is not null
group by username,program,machine,client_info
order by username,program,machine,client_info

  4、查询结果如下:
username为数据库用户名,program为连接的程序,machine为客户端主机名, client_info 为客户端 IP 地址

username program machine client_info
DB_DZJK JDBC Thin Client cspt-app 172.3.2.159
DB_FXBD JDBC Thin Client cspt-app 172.3.2.159
DB_PLATFORM JDBC Thin Client cspt-app 172.3.2.159
DB_PLATFORM plsqldev.exe WORKGROUP\CSPT-APP
DB_SRFX JDBC Thin Client cspt-app
DB_SRYC JDBC Thin Client cspt-app 172.3.2.159

  5、在数据库监听配置文件中启用IP检查功能并添加IP地址清单
A、【推荐】使用图形界面配置方式。
【开始】,【Oracle - OraDb11g_home1】,【Net Manager】,【本地】-【概要文件】-下拉选择【一般信息】,切换到【访问权限】标签,勾选【检查TCP/IP客户机访问权限】,在【允许访问的客户机】右侧填入:主机名称或IP地址,每个一行。然后点击【文件】-【保存网络配置】即可。
B、修改$ORACLE_HOME/network/admin/sqlnet.ora文件
增加以下内容(#开头的是注释):

# 开启ip限制功能
tcp.validnode_checking=yes
# 允许访问数据库的IP地址列表,多个IP地址使用逗号分开
tcp.invited_nodes=(hostname,127.0.0.1,物理网卡地址,应用服务器地址,其他)
# 禁止访问数据库的IP地址列表,多个IP地址使用逗号分开
# tcp.excluded_nodes=(192.168.1.111)

  然后重启监听即可。

  注意事项:

  1、第2行必需写,任何平台都可以,但是只适用于TCP/IP。

  2、第4行和第6行任写一行即可,如果tcp.invited_nodes与tcp.excluded_nodes都存在,以tcp.invited_nodes为主。

  3、 需要添加服务器本机所有网卡配置的静态地址,否则通过 lsnrctl 将不能启动或停止监听,因为该过程监听程序会通过本机的IP访问监听器。可以添加整个网段,比如192.168.1.* 和 192.168.1.0/24 代表 192.168.1.X 这个网段都可以访问数据库。

  4、重启监听才能生效即可。

四、参考资料

  https://www.cnblogs.com/kangxuebin/articles/3103273.html文章来源地址https://www.toymoban.com/news/detail-451335.html

到了这里,关于Oracle 数据库限制IP地址连接的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C# 连接Oracle数据库方法

    C# 连接oracle数据库常用的三种方法有三种:     一、Oracle.ManagedDataAccess.dll:Oracle官方提供的oracle数据库访问组件,不存在其他依赖dll库,推荐该方法最为重要的是: 它 不需要安装oracle客户端,也不区分x86位和x64位 , 直接就能用,连上其他电脑或者服务端oracle数据库。  

    2023年04月22日
    浏览(36)
  • DBeaver连接mysql、oracle数据库

    1) 下载DBeaver https://dbeaver.io/download/,并安装 2) 新建数据库连接    3)选择mysql驱动程序  4)填写连接设置内容 5)点击 “编辑驱动设置”,并填写相关信息  6)选择本地自己下载的驱动库jar包 (也可以点击下载驱动)  7)完成后,点击测试连接,可以查看是否连接成功

    2024年02月05日
    浏览(68)
  • PLSQL连接Oracle 数据库配置详解

    1. 下载instantclient-basic-win32-11.2.0.1.0 Oracle Instant Client - Free tools and libraries for connecting to Oracle Database (oracle官网下载地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html , 下载地址2:http://download.csdn.net/detail/czw2010/5732241)    2. 解压instantclient-basic-win32-11.2.0.1.0并放置在oracle安

    2024年02月07日
    浏览(59)
  • Sql server 连接 Oracle数据库

    前提预警:本机必须装有Oracle客户端 检查是否安装Oracle客户端,并检查TNS信息是否配置完成 1.1、 在cmd中执行 sqlplus ,没有报错并出现Oracle版本号,则表示Oracle已安装 1.2、配置TNS信息(最上面的10.0.0.130可随意定义,eg:test、orcl、qerghasd…) 配置ODBC数据信息 2.1、打开ODBC数据

    2024年02月03日
    浏览(59)
  • linux 下Oracle数据库的连接方式

    在连接到Linux终端后,输入命令“sqlplus / as sysdba”,点击回车,即可登录Oracle数据库。 看下sqlplus的详细介绍先: 用法1: sqlplus-H |-V -H显示SQL*Plus版本和使用帮助。 -V显示SQL*Plus版本。 用法2: 用法2:sqlplus[[option][{logon|/nolog}][start]] option含义是:[-AC][-C版本][-L][-M“options”][-NOLO

    2024年02月02日
    浏览(70)
  • Oracle-数据库连接数异常上涨问题分析

    问题:         用户的数据库在某个时间段出现连接数异常上涨问题,时间持续5分钟左右,并且问题期间应用无法正常连接请求数据库         从连接数的监控上可以看到数据库平常峰值不到100个连接,在问题时间段突然上涨到400以上 问题分析:         首先查

    2024年02月05日
    浏览(65)
  • golang 连接 oracle 数据库 增删改查

     1,golang 连接 oracle 数据库  2,增删改查

    2024年02月09日
    浏览(51)
  • JAVA使用JDBC连接oracle数据库

    首先给出代码和输出:  讲解下代码  Class.forName(\\\"oracle.jdbc.OracleDriver\\\");这段代码是用来加载驱动的。 通过静态类DriverManager的getConnection方法配置连接字符串 DriverManager.getConnection(\\\"jdbc:oracle:thin:@192.168.10.150:1521:orcl11g\\\",\\\"xielong\\\",\\\"xielong\\\"); 其中ip为oracle数据库地址,1521为默认的数据

    2024年02月13日
    浏览(48)
  • oracle 连接数据库报错 ORA-12170:TNS 连接超时

    上网尝试了很多方法,网上列举的以下常见方法对于我来说无效,且均正常。 1、先检查网络是否能ping通,下图网络状态是正确的。 2、查看服务器监听服务是否启动 3、cmd -》 tnsping ip地址(或者是服务器的实例名SID)如果报“TNS-12535:操作超时”,可能是服务器端防火墙 没有

    2023年04月12日
    浏览(44)
  • 连接Oracle数据库失败(ORA-12514)故障排除

    点击试看博主的专著《MySQL 8.0运维与优化》(清华大学出版社) ORA-12514的故障是很多新手在连接Oracle数据库时经常遇到故障,它通常表示无法连接到数据库实例,这里姚远老师告诉大家如何排除这类故障。 当尝试连接到Oracle数据库实例时,可能会收到ORA-12514错误消息。此错

    2023年04月09日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包