被一个客户端连接远程数据库阻塞超时的问题困扰了好久,最后终于找到了答案
 https://blog.csdn.net/herobox/article/details/16985097
 
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
 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
再来一篇:
 
DBA对这个文件一定不会陌生,大家了解最多的也一定是sqlnet.ora用来决定oracle怎么解析一个连接中出现的字符串,例如:
sqlplus sys/oracle@orcl
那么这个orcl怎么解析?如果你的sqlnet.ora这样配置的:
  SQLNET.AUTHENTICATION_SERVICES= (NTS)
  
  NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)
那么,客户端就会首先在tnsnames.ora文件中找orcl的记录.如果没有相应的记录则尝试把orcl当作一个主机名,通过网络的途径去解析它的ip地址然后去连接这个ip上GLOBAL_DBNAME=orcl这个实例,当然我这里orcl并不是一个主机名

  
  如果我是这个样子
  
  NAMES.DIRECTORY_PATH= (TNSNAMES)
  
  那么客户端就只会从tnsnames.ora查找orcl的记录
今天,我们来详细的了解一下sqlnet.ora中参数的配置以及各自的意义。
按官方文档的说法,sqlnet.ora有这么多作用:
Specify the client domain to append to unqualified names
Prioritize naming methods
Enable logging and tracing features
Route connections through specific processer
Configure parameters for external naming
Configure Oracle Advanced Security
Use protocol-specific parameters to restrict access to the database
重要参数及解释:
1.BEQUEATH_DETACH
控制unix系统中signal handling 的开关,默认是no,即signal handling 打开。
2.DEFAULT_SDU_SIZE
指定session data unit (SDU) 的大小,单位是bytes,建议在client端和server端都设置这个参数,确保链接的时候使用相同的SDU size,如果client端和server端配置的值不匹配会使用较小的。

3.LOG_DIRECTORY_CLIENT/LOG_DIRECTORY_SERVER
指定客户端/server端log日志文件的位置
4.NAMES.DEFAULT_DOMAIN
设定客户端解析名字的域
5.NAMES.DIRECTORY_PATH
指定client name解析方法的次序,默认是NAMES.DIRECTORY_PATH=(tnsnames, onames, hostname)
取值可以是tnsnames,ldap(dictionary server),hostname/ezconnect,cds (分布式环境下),nis (Network Information Service (NIS)

6.SQLNET_ALLOWED_LOGON_VERSIONS
指定运行链接的oracle的版本SQLNET_ALLOWED_LOGON_VERSIONS=(10,9,8)
7.SQLNET.AUTHENTICATION_SERVICES
指定启动一个或多个认证服务
Authentication Methods Available with Oracle Net Services:
none for no authentication methods. A valid username and password can be used to access the database.

all for all authentication methods
nts for Windows NT native authentication
8.SQLNET.INBOUND_CONNECT_TIMEOUT
指定客户端没有链接成功超时的时间。超时之后oracle会中断链接,同时报错。
9.SSL_VERSION
指定ssl链接的版本
10.TCP.EXCLUDED_NODES
指定不允许访问oracle的节点,可以使用主机名或者IP地址
11.TCP.INVITED_NODES
指定允许访问db的客户端,他的优先级比TCP.EXCLUDED_NODES高。
12.TCP.VALIDNODE_CHECKING
使用这个参数来启用上边的两个参数。
13.TNSPING.TRACE_DIRECTORY
使用这个参数指定tnsping trace文件的目录,默认是$ORACLE_HOME/network/trace目录
更多参数信息参见:Oracle Database Net Services Reference

---------------------

本文来自 herobox 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/herobox/article/details/16985097?utm_source=copy

[转帖] SQLNET.ORA的处理.的更多相关文章

  1. [转帖]sqlnet.ora常用参数

    sqlnet.ora常用参数 注﹕在修改sqlnet.ora文件之后重新启动监听﹐修改才能生效﹗﹗﹗ oracle网络设置主要包括三个文件,sqlnet.ora\ lisnter.ora\ tnsna ...

  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. listener.ora/sqlnet.ora/tnsnames.ora配置文件详解

    oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下. 英文说明: The ...

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

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

  6. oracle的listener.ora sqlnet.ora tnsnames.ora三个文件的关联性

    学习:http://www.cnblogs.com/william-lee/archive/2010/10/20/1856261.html 之前因为安装的是windows server 2008 r2 ...

  7. 【练习】sqlnet.ora

    在SQLNET.ora文件中设置以下参数可以实现IP访问限制: $ pwd/u01/app/oracle/product/10.2.0/db_1/network/admin$ vi sqlnet.or ...

  8. [oracle] listener.ora 、sqlnet.ora 、tnsnames.ora

    路径 $ORACLE_HOME/network/admin sqlnet.ora(客户及服务器端) 作用类似于linux或者其他unix的nsswitch.conf文件,通过这个文件来决定怎么样找一个 ...

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

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

随机推荐

  1. restful framework之频率组件

    一.频率简介 为了控制用户对某个url请求的频率,比如,一分钟以内,只能访问三次 二.自定义频率类.自定义频率规则 自定义的逻辑 #(1)取出访问者ip # (2)判断当前ip不在访问字典里,添加进去 ...

  2. pathon之多线程详解

    一.线程理论 1.什么是线程 线程指的是一条流水线的工作过程 进程根本就不是一个执行单位,进程其实是一个资源单位--------将资源集合到一起: 一个进程内自带一个线程,线程才是CPU上的执行单位 ...

  3. 几个原生js方法总结

    一.document.getElementById('emoji').addEventListener('click', function(e) { var emojiwrapper = docume ...

  4. Qt-网易云音乐界面实现-2 红红的程序运行图标,和相似下方音乐条

    被调出来出差了,这次出差可以说是非常不开心,这次出差也算给我自己提了个醒吧,那就是注意自己的精力,自己的口碑,和比人对自己的信任.具体内容如下 我们公司有一款硬件的设备的电路是外包给某个人来做的,这个 ...

  5. Educational Codeforces Round 61 (Rated for Div. 2) E. Knapsack

    非常经典的dp题,因为1至8的最大公约数是840,任何一个数的和中840的倍数都是可以放在一起算的, 所以我只需要统计840*8的值(每个数字(1-8)的sum%840的总和),剩下都是840的倍数 ...

  6. vue 使用ref获取DOM元素和组件引用

    在vue中可以通过ref获取dom元素,并操作它,还可以获取组件里面的数据和方法. HTML部分: <div id="app"> <input type=&quo ...

  7. gulp + angular + requirejs 简单学习

    一.安装gulp(已经安装了node环境) npm  install -g gulp 二.在package.json文件中配置依赖插件 { "name": "xxxx&q ...

  8. 使用OpenCV通过摄像头捕获实时视频并探测人脸

    在Opencv初接触,图片的基本操作这篇手记中,我介绍了一些图片的基本操作,视频可以看作是一帧一帧的图片,因此图片操作其实是视频操作的基础,这篇手记就来讲讲OpenCV中的视频操作,并实现一个用笔记本 ...

  9. textarea拖拽控制

    一.用处 textarea默认时允许用户以拖拽形式来改变textarea大小,但textarea的大小变化会撑大其父节点,有时会破坏整体布局,有时我们并不希望textarea随意拖拽. forklif ...

  10. linux, configure --prefix 的作用

    指定安装路径不指定prefix,则可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc.其它的资源文件放在/usr ...