一、通过sqlnet.ora文件控制对Oracle数据库的访问

出于数据安全考虑,对Oracle数据库的IP做一些限制,只有固定的IP才能访问。
修改$JAVA_HOME/NETWORK/ADMIN/sqlnet.ora文件
增加以下内容(红色表示注释):
#开启ip限制功能
tcp.validnode_checking=yes
#允许访问数据库的IP地址列表,多个IP地址使用逗号分开
tcp.invited_nodes=(192.168.1.110)
#禁止访问数据库的IP地址列表,多个IP地址使用逗号分开
tcp.excluded_nodes=(192.168.1.111)
然后重启监听即可。
注:
1、第一行必需写,任何平台都可以,但是只适用于TCP/IP。
2、第二行和第三行任写一行即可,如果tcp.invited_nodes与tcp.excluded_nodes都存在,以tcp.invited_nodes为主。
3、不要禁止服务器本机的IP地址,否则通过lsnrctl将不能启动或停止监听,因为该过程监听程序会通过本机的IP访问监听器。

二、Oracle sqlnet.ora配置

sqlnet.ora的作用(官网指出的)

1.限制客户端访问(如指定客户端域为不允许访问)

2.指定命名方法(local naming,directory nameing...)的优先级

3.启用日志及跟踪(log and trace)功能

4.通过特定进程来路由客户端连接

5.配置外部命名(第三方连接程序,如c语言写的)参数

6.配置Oracle的高级安全

7.使用协议特定的参数限制对数据库的访问

sqlnet配置文件的存放位置一般在:$ORACLE_HOME/network/admin目录下

常用参数设置

1.设置windows下允许使用windows nt本地认证

SQLNET.AUTHENTICATION_SERVICES=(nts)

2.设置Oracle客户端连接串命名查找顺序

NAMES.DIRECTORY_PATH=(tnsnames, onames,ezconnect)

允许的值有:

1)tnsnames使用客户端的tnsnames.ora解析

2)ldap使用目录访问协议解析,需要有目录服务

3)ezconnect or hostname,允许使用tcp/ip连接串,包含主机名,端口,服务名

4)cds分布式环境的数据库名

5)nis (Network Information Service (NIS) external naming method),主要用于外部程序解析

6)onames:通过Oracle Name Server解析

3.设置客户端连接会话超时时间(单位分钟)

定期检测客户端是否还是活动的,设置为0不检测

SQLNET.EXPIRE_TIME = 10

另外还有:

客户端建立连接超时时间(单位秒,默认60)

SQLNET.INBOUND_CONNECT_TIMEOUT=10

Oracle建议在listener.ora中也进行配置

接受超时时间(单位秒)

SQLNET.RECV_TIMEOUT=3

发送超时时间(单位秒)

SQLNET.SEND_TIMEOUT=3

4.客户端限制

是否进行限制(默认no):

TCP.VALIDNODE_CHECKING

如:TCP.VALIDNODE_CHECKING=yes

限制客户端访问

TCP.EXCLUDED_NODES=(hostname | ip_address, hostname | ip_address, ...)

如:TCP.EXCLUDED_NODES=(finance.us.acme.com, mktg.us.acme.com, 144.25.5.25)

允许客户端访问,会覆盖限制访问

TCP.INVITED_NODES=(hostname | ip_address, hostname | ip_address, ...)

如:TCP.INVITED_NODES=(sales.us.acme.com, hr.us.acme.com, 144.185.5.73)

5.设置立即发送

设置等待一段时间或者数据包凑够多大才会一起发送,或者可以让数据立即发送

TCP.NODELAY=yes

6.设置使用专享连接还是公用链接

设置为on会在客户端连接串后加上(SERVER=dedicated)

USE_DEDICATED_SERVER=on/off

整理自:

https://www.cnblogs.com/mengxiaohu/p/7727954.html

Oracle 通过sqlnet.ora文件控制对Oracle数据库的访问的更多相关文章

  1. Oracle 使用sqlnet.ora/trigger限制/允许某IP或IP段访问指定用户

    Oracle 使用sqlnet.ora/trigger限制/允许某IP或IP段访问指定用户 学习了:http://blog.itpub.net/28602568/viewspace-2092858/ ...

  2. [转帖]Oracle 使用sqlnet.ora/trigger限制/允许某IP或IP段访问指定用户

    Oracle 使用sqlnet.ora/trigger限制/允许某IP或IP段访问指定用户 原创 Oracle 作者:maohaiqing0304 时间:2016-05-03 17:05:46  17 ...

  3. oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件

    总结: 1 .三个配置文件都是放在$ORACLE_HOME\network\admin目录下. 2 .sqlnet.ora确定解析方式 3 .listener.ora上设SID_NAME,通常用于JD ...

  4. Oracle的sqlnet.ora与password文件试验

    先看有没有sqlnet.ora [oracle@localhost ~]$ cd $ORACLE_HOME[oracle@localhost dbhome_1]$ cd network[oracle@ ...

  5. oracle的sqlnet.ora , tnsnames.ora , Listener.ora 文件的作用(转)

    oracle网络配置三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下.1. sqlnet.o ...

  6. Oracle的sqlnet.ora文件配置

    DBA对这个文件一定不会陌生,大家了解最多的也一定是sqlnet.ora用来决定oracle怎么解析一个连接中出现的字符串,例如: sqlplus sys/oracle@orcl 那么这个orcl怎么 ...

  7. oracle三个连接配置文件 listener.ora、sqlnet.ora、tnsnames.ora

    关于PLSQL连接ORACLE配置字符串 首先要讲一下下面的一些知识 1.ORACLE_SID:(ORACLE SYSTEM IDENTIFIER) Oracle实例是由SGA和一组后台进程组成的,实 ...

  8. oracle: listener.ora 、sqlnet.ora 、tnsnames.ora的配置及例子

    1.解决问题:TNS或者数据库不能登录.      最简单有效方法:使用oracle系统提供的工具 netca 配置(把原来的删除掉重新配置)     $netca  2.然而,仍有疑问:如何指定'l ...

  9. oracle安装后sqlnet.ora文件

    # sqlnet.ora Network Configuration File: D:\Develop\oracle11g\product\11.2.0\dbhome_1\network\admin\ ...

随机推荐

  1. python学习-53 正则表达式

    正则表达式 就其本质而言,正则表达式是一种小型的/高度专业化的编程语言,它内嵌在python中,并通过RE模块实现,正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行. 1.元字符 - ...

  2. Codeforces Round #576 (Div. 1) 简要题解 (CDEF)

    1198 C Matching vs Independent Set 大意: 给定$3n$个点的无向图, 求构造$n$条边的匹配, 或$n$个点的独立集. 假设已经构造出$x$条边的匹配, 那么剩余$ ...

  3. 封装函数(累计和、K型、金字塔)

    // 假设有个函数,只要传参数进去,就能统计累加的结果 function test($n){ if($n==1){ return 1; } return $n+test($n-1);}echo tes ...

  4. NetCore.SignalR.Demo演示

    项目github,点击https://github.com/wangpengzong/NetCore.SignalR.Demo 1.打开服务端Server(\SignalR.Server\bin\De ...

  5. Self寄宿

    static void Main(string[] args) { //Assembly.Load("WebApplication1, Version=1.0.0.0, Culture=ne ...

  6. 关闭ShowDialog的模态窗口

    [DllImport("user32.dll")] private static extern IntPtr FindWindow(string a, string b); [Dl ...

  7. JVM性能优化--类加载器,手动实现类的热加载

    一.类加载的机制的层次结构 每个编写的".java"拓展名类文件都存储着需要执行的程序逻辑,这些".java"文件经过Java编译器编译成拓展名为". ...

  8. python列表操作大全

    Python列表操作大全 对于python列表的理解可以和C语言里面的数组进行比较性的记忆与对照,它们比较相似,对于python里面列表的定义可以直接用方括号里加所包含对象的方法,并且python的列 ...

  9. linux 下调用wps 注意

    记录笔记以防忘记 wps 是界面程序,linux 必须在界面终端中调用 wps 命令才能打开软件 xshell 连接时启动tomcat ,wps命令 会使用Xshell 的隧道转发,只有在界面下的终端 ...

  10. iOS testflight 使用说明

    一.告知开发者苹果手机的账户邮箱 1.通过任何形式告知即可 2.下载testflight 二.开发者发送激活邮件到测试者的账户邮箱 1.进入邮箱查看邮件点击 Accept invitation 进行下 ...