一、通过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. 玫瑰花小制作分享-JavaScript(七夕专属浪漫)

    分享一个玫瑰花的制作小方法,用小小的代码给自己的她送上一个不一样的玫瑰花. 玫瑰花代码由JavaScript实现,JavaScript 作为一种脚本语言, 被发明用于在 HTML 网页上使用,可以给H ...

  2. TZOJ3114: {A}∩{B}

    #include<stdio.h> int main() { ],b[],m,i,j,c; scanf("%d",&t); while(t--) { c=; s ...

  3. java封装数据类型——Byte

    Byte 是基本类型byte的封装类型.与Integer类似,Byte也提供了很多相同的方法,如 decode.toString.intValue.floatValue等,而且很多方法还是直接类型转换 ...

  4. Nginx的启动、停止等命令

    Windows下Nginx的启动.停止等命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动.停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍.1.启 ...

  5. 【转载】Request对象的作用以及常见属性

    Request对象是Asp.Net应用程序中非常重要的一个内置对象,其作用主要用于服务器端获取客户端提交过来的相应信息,比较常用的有使用Requset对象获取用户提交的html表单信息,Request ...

  6. JavaScript CryptoJS库 加密与解密

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Django中使用geetest验证

    一.geetest的使用方法 首先需要在setting中配置好文件 GEE_TEST = { "gee_test_access_id": "37ca5631edd1e88 ...

  8. 运维开发笔记整理-创建django用户

    运维开发笔记整理-创建django用户 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.创建普通用户 C:\Users\yinzhengjie\softwares\Pycharm ...

  9. JS基础篇【1】

    该文讲解适用于有一定语言开发基础的朋友们,亦可当作久别重逢之回顾! 1.JS简介 JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记 ...

  10. 最基础的分类算法-k近邻算法 kNN简介及Jupyter基础实现及Python实现

    k-Nearest Neighbors简介 对于该图来说,x轴对应的是肿瘤的大小,y轴对应的是时间,蓝色样本表示恶性肿瘤,红色样本表示良性肿瘤,我们先假设k=3,这个k先不考虑怎么得到,先假设这个k是 ...