Oracle 通过sqlnet.ora文件控制对Oracle数据库的访问
一、通过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数据库的访问的更多相关文章
- Oracle 使用sqlnet.ora/trigger限制/允许某IP或IP段访问指定用户
Oracle 使用sqlnet.ora/trigger限制/允许某IP或IP段访问指定用户 学习了:http://blog.itpub.net/28602568/viewspace-2092858/ ...
- [转帖]Oracle 使用sqlnet.ora/trigger限制/允许某IP或IP段访问指定用户
Oracle 使用sqlnet.ora/trigger限制/允许某IP或IP段访问指定用户 原创 Oracle 作者:maohaiqing0304 时间:2016-05-03 17:05:46 17 ...
- oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件
总结: 1 .三个配置文件都是放在$ORACLE_HOME\network\admin目录下. 2 .sqlnet.ora确定解析方式 3 .listener.ora上设SID_NAME,通常用于JD ...
- Oracle的sqlnet.ora与password文件试验
先看有没有sqlnet.ora [oracle@localhost ~]$ cd $ORACLE_HOME[oracle@localhost dbhome_1]$ cd network[oracle@ ...
- oracle的sqlnet.ora , tnsnames.ora , Listener.ora 文件的作用(转)
oracle网络配置三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下.1. sqlnet.o ...
- Oracle的sqlnet.ora文件配置
DBA对这个文件一定不会陌生,大家了解最多的也一定是sqlnet.ora用来决定oracle怎么解析一个连接中出现的字符串,例如: sqlplus sys/oracle@orcl 那么这个orcl怎么 ...
- oracle三个连接配置文件 listener.ora、sqlnet.ora、tnsnames.ora
关于PLSQL连接ORACLE配置字符串 首先要讲一下下面的一些知识 1.ORACLE_SID:(ORACLE SYSTEM IDENTIFIER) Oracle实例是由SGA和一组后台进程组成的,实 ...
- oracle: listener.ora 、sqlnet.ora 、tnsnames.ora的配置及例子
1.解决问题:TNS或者数据库不能登录. 最简单有效方法:使用oracle系统提供的工具 netca 配置(把原来的删除掉重新配置) $netca 2.然而,仍有疑问:如何指定'l ...
- oracle安装后sqlnet.ora文件
# sqlnet.ora Network Configuration File: D:\Develop\oracle11g\product\11.2.0\dbhome_1\network\admin\ ...
随机推荐
- c++ 编译 curl 报错 数组‘__curl_rule_01__’的大小为负 解决方法
背景:在原有的项目GCC编译环境下(arm-linux 32位),增加x86-linux 64位的编译环境,编译curl库的时候发生错误. 其他:编译服务器为64位Centos 编译错误提示 /inc ...
- k8s 证书反解
k8s证书反解 1.将k8s配置文件(kubelet.kubeconfig)中client-certificate-data:内容拷贝 2.echo "client-certificate- ...
- oracle update left join 写法
oracle update left join 写法 (修改某列,条件字段在关联表中) 案例: E:考核表 X,:用户表 USERNAME 关联 需求:修改营业部最高分 分析:通过登录账号的营业部OR ...
- k8s部署nacos
如果是在centos7上直接启动nacos 注意修改启动命令 sh startup.sh -m standalone 访问路径 http://********:8848/nacos/index.h ...
- 在论坛中出现的比较难的sql问题:16(取一个字段中的数字)
原文:在论坛中出现的比较难的sql问题:16(取一个字段中的数字) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 问题:取一个字段中的数字http://bbs.csdn ...
- ABP 基于DDD的.NET开发框架 学习(四)时间控件采用datetimepicker注意事项
$('#datetimepicker1').datetimepicker({ format: 'yyyy/mm/dd hh:ii:ss',//这是只能用小写的大写的与ABP中的字母识别起冲突 loca ...
- Asp.netCore 是用的Socket 吗?
Asp.netCore 是用的Socket 的krestrel 用的是Socket! public static IWebHostBuilder CreateDefaultBuilder(string ...
- css 基础入门
CSS 概述 为了让网页元素的样式更加丰富,也为了让网页的内容和样式能拆分开,css 由此而生,css 是 Cascading Style Sheets 的字母缩写,意思是层叠样式表,有了 css,h ...
- javascript原型原型链 学习随笔
理解原型和原型链.需从构造函数.__proto__属性(IE11以下这个属性是undefined,请使用chrome调试).prototype属性入手. JS内置的好多函数,这些函数又被叫做构造函数. ...
- Typora数学公式
LaTeX编辑数学公式基本语法元素 LaTeX中的数学模式有两种形式: inline 和 display. 前者是指在正文插入行间数学公式,后者独立排列,可以有或没有编号. 行间公式(inline) ...