前言
plsql登录数据库是突然登不上,自己也不记得改了啥,就报这个错误,上网去查,然后发现问题很简单
解决方案
找到oracle安装文件,这是我的安装目录
F:\app\24014\product\11.2.0\client_1\network\admin
此目录下找到sqlnet.ora文件,如果存在SQLNET.AUTHENTICATION_SERVICES= (NTS)设置,则修改为:SQLNET.AUTHENTICATION_SERVICES= (NONE),如果不存在,则直接添加SQLNET.AUTHENTICATION_SERVICES= (NONE),我的问题得以解决。
SQLNET.AUTHENTICATION_SERVICES 表示oracle使用哪种验证方式,NTS表示采用本地操作系统认证,NONE表示将采用口令文件方式认证。设定了none后,本地的操作系统认证将不被许可,oracle将采用口令文件认证(此时 remote_login_passwordfile=exclusive)如connect /as sysdba 登录,后报错RA-01031: insufficient privileges,实际上是要求你输入sysdba的用户名和密码
上面是我搜到的方法,已解决问题 后续我又发现可在oracle net manage 之中修改,这里是采用nts方法。在这里咋改none就不知道了