如果参数remote_login_password设置为NONE,表示不用口令文件,这时设置sqlnet.ora文件的
sqlnet.authentication_services=(NTS)(此设置也是表示用系统认证),这样才是系统认证方式,在这种情况下,口令文件失效,只要系统用户属于ORA_DBA组,则可以以任何用户任何密码以管理员的身份登陆,即connect / as sysdba.
如果sqlnet.authentication_services=(NONE),则会出现连接错误:
ORA-01034:ORACLE not available
ORA-27101:Shared memory realm does not exist.
设置remote_login_password的值为exclusive或shared,
SQL> alter system set remote_login_passwordfile=EXCLUSIVE scope=spfile;
System altered
关闭数据库
SQL>shutdown immediate;
如果sqlnet.authentication_services=(NTS)同时系统用户属于ORA_DBA组,则可以以任何用户任何密码以sysdba模式登陆,如果系统用户不属于ORA_DBA组,则只能以口令文件设置的密码以sys登陆。
如果sqlnet.authentication_services=(NONE)则只能用口令文件登陆。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13387766/viewspace-429421/ ,如需转载,请注明出处,否则将追究法律责任。