1 SQLNET.AUTHENTICATION_SERVICES配置
SQLNET.AUTHENTICATION_SERVICES=(NTS)|(NONE)
SQLNET.AUTHENTICATION_SERVICES=(NTS): 操作系统认证方式,不使用口令文件
SQLNET.AUTHENTICATION_SERVICES=(NONE) : 口令文件认证方式
2 REMOTE_LOGIN_PASSWORDFILE参数
REMOTE_LOGIN_PASSWORDFILE=(NONE)|(EXCLUSIVE)|(SHARED)
REMOTE_LOGIN_PASSWORDFILE=(NONE): 不使用口令文件,操作系统认证
REMOTE_LOGIN_PASSWORDFILE=(EXCLUSIVE): 口令文件认证方式,但只有一个数据库实例可以使用此文件,系统允许将SYSOPER/SYSDBA授予除INTERNAL/SYS以外的其他用户,且以具有这类身份的其他用户登录是有效的
REMOTE_LOGIN_PASSWORDFILE=(SHARED): 口令文件认证方式,可有多个数据库实例使用此文件,但是此设置下只有INTERNAL/SYS帐号能被识别,即使文件中存有其他用户的信息,也不允许他们以SYSOPER/SYSDBA登录
3 两者关系
本地:
方式一: 本地oracle安装用户 sqlplus / as sysdba
方式二: 本地oracle安装用户 sqlplus sys/sys as sysdba
方式三: 本地oracle安装用户 sqlplus sys/sys@linuxtest as sysdba
远程:
方式四: 远程的用户 sqlplus "sys/sys@linuxtest as sysdba"
方式五: 远程的用户 sqlplus "sys/sys@192.168.128.2:1521/test as sysdba"
其中:
密码是sys
tns的服务名是linuxtest
sid是test
REMOTE_LOGIN_PASSWORDFILE | SQLNET.AUTHENTICATION_SERVICES | 用户类型 | 登陆结果 |
none | none | 方式一 | 无法登录 |
方式二 | 无法登录 | ||
方式三 | 无法登录 | ||
方式四 | 无法登录 | ||
方式五 | 无法登录 | ||
none | nts(all) | 方式一 | 能登录 |
方式二 | 能登录 | ||
方式三 | 能登录(window) 能登录(linux置空) 不能登录(linux设all) | ||
方式四 | 无法登录 | ||
方式五 | 无法登录 | ||
exclusive | none | 方式一 | 无法登录 |
方式二 | 能登录 | ||
方式三 | 能登录 | ||
方式四 | 能登录 | ||
方式五 | 能登录 | ||
exclusive | nts(all) | 方式一 | 能登录 |
方式二 | 能登录 | ||
方式三 | 能登录(window) 能登录(linux置空) 不能登录(linux设all, 但是远程用密码文件又可以) | ||
方式四 | 能登录 | ||
方式五 | 能登录 |
1 常见情况举例
1.1 关闭OS验证
SQLNET.AUTHENTICATION_SERVICES=(NONE)
1.2 关闭密码文件认证
REMOTE_LOGIN_PASSWORDFILE=(NONE)
1.3 关闭本地密码文件认证
REMOTE_LOGIN_PASSWORDFILE=(EXCLUSIVE)
SQLNET.AUTHENTICATION_SERVICES=(ALL)
1.4 关闭远程密码文件认证
REMOTE_LOGIN_PASSWORDFILE=(NONE)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21416913/viewspace-733864/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21416913/viewspace-733864/