分享

Oracle权限验证方式 - liurizhaooracle的日志 - 网易博客

 ylzrx 2011-04-12
一、Oracle的权限验证方式:
1、Oracle的验证方式取决于下面三个因素:
    * SQLNET.ORA参数文件中的参数SQLNET.AUTHENTICATION_SERVICES设置
    * PFILE(SPFILE)参数文件中的参数REMOTE_LOGIN_PASSWORDFILE设置
    * 口令文件orapw$SID(Linux) | PWD$SID.ora(Windows)

2、Oracle权限验证的基本顺序:
     先由 SQLNET.AUTHENTICATION_SERVICES的设置值来决定是使用OS认证还是口令文件认证;
   如果使用口令文件认证的话就要看后面两个属性了:
如果REMOTE_LOGIN_PASSWORDFILE参数设置为非NONE而且口令文件存在的话就能正常使用口令文件认证,否则将会失败。

二、三个参数设置对登录的影响:

1、SQLNET.AUTHENTICATION_SERVICES参数

SQLNET.ORA存在位置:$ORACLE_HOME/NETWORK/ADMIN目录中,需要修改时直接用文本编辑器打开修改就可以了。
  • SQLNET.AUTHENTICATION_SERVICES = (ALL)

对Linux系统,支持OS认证和口令文件认证。

对Windows系统,实际实验是不支持此参数,验证失败。

  • SQLNET.AUTHENTICATION_SERVICES = (NTS)

此设置值仅用于Windows NT系统,此设置同时支持OS认证和口令文件认证,只有在设置了(NTS)值之后运行在Windows系统上的Oracle才支持OS认证。

  • SQLNET.AUTHENTICATION_SERVICES = (NONE)

此设置值在Windows和Linux是作用一样的,指定Oracle只使用口令文件认证。

  • 不设置此参数或SQLNET.AUTHENTICATION_SERVICES =

对Linux系统,默认支持OS认证和口令文件认证。

对Windows系统,默认只支持口令文件认证,不支持OS认证。


2、REMOTE_LOGIN_PASSWORDFILE参数

   REMOTE_LOGIN_PASSWORDFILE属于初始化参数,只能在init.ora/pfile中指定或是在数据库打开状态下使用下面语句修改,然后重新启动数据库。

ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE SCOPE = SPFILE ;

REMOTE_LOGIN_PASSWORDFILE系统参数的设置制定了数据库使用口令文件的方法,此参数可以设置的值有三个:

  • REMOTE_LOGIN_PASSWORDFILE = NONE

不使用口令文件

  • REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE

使用口令文件,但只有一个数据库实例可用使用

  • REMOTE_LOGIN_PASSWORDFILE = SHARED

多个数据库实例共用一个口令文件,这种设置下是不能增加其他数据库用户作为特殊权限用户到口令文件中的。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多