1. Oracle sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES参数
2. 静态参数remote_login_passwordfile
3. Oralce口令文件
Oracle登录时按照以上顺序依次检查
1. SQLNET.AUTHENTICATION_SERVICES=(ALL)
对LINUX系统,支持os认证和口令认证
对window系统,不支持该参数
2. SQLNET.AUTHENTICATION_SERVICES=(NTS)
仅用于windows系统,此设置同时支持os认证和口令认证,只有在设置了(NTS)值之后运行在windows系统上的oracle才支持os认证
3. SQLNET.AUTHENTICATION_SERVICES=(NONE)
Window、linux一样,支持只口令认证
4. 不设置SQLNET.AUTHENTICATION_SERVICES的值
对LINUX系统,支持os认证和口令认证
对window系统,只支持口令认证
1. 静态参数remote_login_passwordfile的值
a. none远程用户不能通过sysdba、sysoper登录
b. exclusive可以远程通过sysdba、sysoper登录
c. shared口令文件可以被多个数据库共享,但只能存放sys用户的口令,口令的文件名为:orapw
2. 注意事项
a. 两个实例在exclusive的模式下也能公用一个orapw文件,但必须符合以下条件:没有加sys之外的用户到sysdba组中;一个实例启动,另一个实例再启动时会修改orapw的实例信息。
b. Exclusive模式会写实例名信息到口令文件
c. Shared模式不会写实例名到口令文件
1. 路径:
Linux:$ORACLE_HOME/dbs/orapw$SID或 $ORACLE_HOME/dbs/orapw
Window:%ORACLE_HOME%/database/PWD<SID>.ora
2. 存放内容:存放sysdba和sysoper角色用户的口令
3. 重建口令文件:orapwd命令
1. Os验证:
SQLNET.AUTHENTICATION_SERVICES=(All)
remote_login_passwordfile=none
2. 口令文件认证:
SQLNET.AUTHENTICATION_SERVICES=None
remote_login_passwordfile=exclusive/shared
3. 两种验证都失败:
SQLNET.AUTHENTICATION_SERVICES=None
remote_login_passwordfile=none
4. 两种验证都成功:
SQLNET.AUTHENTICATION_SERVICES=All
remote_login_passwordfile=exclusive