sqlnet.ora

oracle11g中sqlnet.ora文件与10g不同是在grid用户下$GRID_HOME/network/admin/下

在添加白名单时:节点1修改完sqlnet.ora之后
Oracle>srvctl stop listener -n 节点1主机
Oracle>srvctl start listener -n 节点1主机
节点1重启监听后节点1的白名单生效,同样需要在节点2操作

今天遇到个奇葩的问题:
应用由于人员变动需要在11g rac上添加白名单
节点1和节点2都修改了sqlnet.ora 并且都重启了监听,按理说这个地址添加完之后那边就可以连接sqldev了,但是一直反映报错


最后到现场重新编辑sqlnet.ora
有一个地址之间出现了x.x.x.131,,x.x.x.133出现了两个“,,”两个逗号,删除之后重启监听竟然好了,需要后期实验验证是不是逗号惹的祸!

转载http://www.jellythink.com/archives/991
另附sqlnet.ora中的几个参数:

说到sqlnet.ora文件,我们平时关注的比较少,可以说是非常少,一般也就配置一下listener.ora和tnsnames.ora这两个文件。那么这个sqlnet.ora是干嘛的呢?

说白了,sqlnet.ora文件也就是一个文本配置文件,里面有一些配置项,然后程序读取这里面的配置项,进行一些配置,控制客户端访问数据库服务器。我们先看看sqlnet.ora中的内容。

SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

里面就上面那么两行的内容,先简单说说这两行分别起什么作用。

# 指定启动一个或多个认证服务 SQLNET.AUTHENTICATION_SERVICES= (NTS) # 指定CLIENT NAME解析方法的次序,默认是NAMES.DIRECTORY_PATH=(tnsnames, onames, hostname) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

常见的作用

上面通过注释简单说了一下它的两个作用,而这两个作用也是最常配置的,下面就说说这两个配置项的作用。

  1. 指定启动一个或多个认证服务
    认证服务就是指Oracle的身份验证服务,你登陆Oracle时,有的时候不需要输入用户名,有的时候既需要输入用户名,也需要输入密码。那什么时候什么都不需要输入,什么时候都需要输入呢?这就和这里指定的认证服务有关系了。一般有以下三种取值:
    • NONE:作用是不允许通过OS系统用户登录数据库,需要提供用户名及密码;
    • ALL:作用是允许所有的登录方式;
    • NTS:作用是允许本地操作系统用户认证;

    而关于Oracle的身份认证,这又是一个很大的议题,又够我写一篇文章去总结的,我还是点到为止。当然了,我推荐一篇关于Oracle身份认证的文章,大家可以看看:《Oracle 身份验证方式》

  2. 指定CLIENT NAME解析方法的次序
    我们连接数据的时候,会有以下的语法格式的输入:
    CONNECT username/password [@db_alias] AS [SYSOPER | SYSDBA] ;

    可以看到这个语法中,有一个db_alias,这个东西是什么呢?这个db_alias就是在tnsnames.ora中定义的数据库的别名,比如:

    #ORCL是个别名  ORCL =
        (DESCRIPTION =
            (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
            (CONNECT_DATA =
                (SERVER = DEDICATED)
                (SERVICE_NAME = orcl)
            )
        ) 这个db_alias就是上面所说的ORCL,那么我们连接的时候,怎么知道这个ORCL是个什么东西呢?这就和sqlnet.ora中的配置有关系了。

    当第一个指定为TNSNAMES时,就先到tnsnames.ora文件中去找对应的db_alias;如果找不到,就再按指定的第二种方式去找;如果都找不到,就将指定的db_alias当做主机名在网络上进行解析,得到数据库服务器的地址。

    很多朋友对EZCONNECT很不解,这个EZCONNECT表示简单连接,就是说可以不用在tnsnames.ora文件去查询服务名就可以进行数据库的连接,比如我们可以这样进行连接:

    username/password@hostname:port/service_name




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29674916/viewspace-2129526/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29674916/viewspace-2129526/

你可能感兴趣的:(sqlnet.ora)