1. 参数文件中的remote_login_passwordfile参数
此参数是静态参数,修改后重启数据库后参数生效--控制着密码文件的使用及其状态。
alter system set remote_login_passwordfile=exclusive scope=spfile;
remote_login_passwordfile有三个选项,exclusive shard none
exclusive时允许客户端以SYSDBA/SYSOPER身份从远程登陆, 允许授予和回收SYSDBA或SYSOPER权限,实例独占使用口令文件
none时不允许以SYSDBA/SYSOPER身份从远程登陆,不使用口令文件
SHARED时 允许客户端以SYSDBA或SYSOPER权限从远程登陆; 禁止授予和回收SYSDBA或SYSOPER权限。多个实例共享一个口令文件
SQL> show parameter pass
NAME TYPE VALUE
------------------------------------ -----------------------------------------
remote_login_passwordfile string NONE
查看密码文件 中的用户信息
BYS@ bys3>select * from v$pwfile_users;
USERNAME SYSDB SYSOP SYSAS
------------------------------ ----- ----- -----
SYS TRUE TRUE FALSE
2.$ORACLE_HOME/network/admin目录下的sqlnet.ora文件
WINDOWS下:
在已经以NONE时使用用户名密码登陆的SESSION未重连时修改为NTS可能无法立刻使用OS需重连
Sqlnet.authentication= (NTS)
这一句有两个参数,NTS NONE
NTS是使用操作系统的认证,这样可以使用conn / as sysdba登陆。
NONE是不使用操作系统的认证,必须以输入用户名密码登陆conn sys/oraclesys as sysdba
这一句被#注释掉即不存放在话默认即NONE
LINUX下:
LINUX下默认没有sqlnet.ora,默认可以使用OS验证。
此参数值为ALL或无SQLNET.AUTHENTICATION_SERVICES= (NTS)此参数可以登陆。
SQLNET.AUTHENTICATION_SERVICES = (NONE) 禁止使用OS认证
SQLNET.AUTHENTICATION_SERVICES = (ALL) 可以使用OS或密码文件认证