一、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目录中,需要修改时直接用文本编辑器打开修改就可以了。
对Linux系统,支持OS认证和口令文件认证。 对Windows系统,实际实验是不支持此参数,验证失败。
此设置值仅用于Windows NT系统,此设置同时支持OS认证和口令文件认证,只有在设置了(NTS)值之后运行在Windows系统上的Oracle才支持OS认证。
此设置值在Windows和Linux是作用一样的,指定Oracle只使用口令文件认证。
对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系统参数的设置制定了数据库使用口令文件的方法,此参数可以设置的值有三个:
不使用口令文件
使用口令文件,但只有一个数据库实例可用使用
多个数据库实例共用一个口令文件,这种设置下是不能增加其他数据库用户作为特殊权限用户到口令文件中的。 |
|