今天学习oracle数据库登陆的时候,发现sys用户用操作系统验证的时候,会出现ora 01031错误。到网上查了好常时间,都没有解决好,最后发现强制重新创建密码文件,把问题解决了。在找到资料的时候,也创建过密码文件,不过创建的时候,没有加force=y 参数。下边梳理一下oracle的密码认证方式。
在配置oracle的验证方式的时候,首先要注意的是参数文件中的remote_login_passwordfile 参数值的设置:
其中:none 不使用密码文件认证;exclusive 需要密码文件,自己独占使用(默认);shared 需要密码文件认证,不同的实例的dba可以共享密码文件。其次是sqlnet.ora中的参数SQLNET.AUTHENTICATION_SERVICES 的值,其中:none表示操作系统认证关闭,只使用密码认证; all : 用于linux或unix平台,关闭本机密码认证,采用操作系统认证,但远程<异机>可以使用密码文件认证。nts 用于windows 平台上的操作系统认证。最后要保证系统用户ora_dba用户组,这样才能保证操作系统验证成功。
密码文件损坏会导致操作系统验证无法成功,所以需要重建密码文件,重建的方法如下: orapwd file=$ORACLE_HOME/database/pwdorcl password=windows entries=3 force=y
重建完密码文件后,重新登录即可成功!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22275400/viewspace-723612/
,如需转载,请注明出处,否则将追究法律责任。