今天客户说有一个windows系统的单实例11g数据库使用sqlplus登录的时候出现报错ora-01017报错,我登录上去以后确实发现有这样的报错。
在网上搜了很多的文章,试了试都没有效果,最后是因为sqlnet.ora中有个参数设置出现了问题,导致的。
排查问题的思路给大家说一下。
1. sqlnet文件中SQLNET.AUTHENTICATION_SERVICES= (NONE)参数设置,正确是sqlnet文件中 SQLNET.AUTHENTICATION_SERVICES= (NTS),我的就是这个问题,改过以后就可以正常使用sqlplus了 。
2.考虑重现建立密码文件,windows下的oracle数据库的数据库密码文件命令为:
删除:del D:\app\Administrator\product\12.1.0\dbhome_1\database\pwdorcl.ora
重新建立密码文件:orapwd file=D:\app\Administrator\product\12.1.0\dbhome_1\database\pwdorcl.ora password=oracle entries=10;
如果是linux或者aix系统的密码文件在
$ORACLE_HOME/dbs/
重建命令:
orapwd file=$ORACLE_HOME/dbs/orapsorcl password=oracle entries=10;
3.remote_login_passwordfile的值,是NONE,而不是EXCLUSIVE
详细解释见 http://blog.itpub.net/31547066/viewspace-2650290/
4.还有可能是因为密码大小写敏感的问题。
在oracle的之前版本时, 用户名密码是大小写不敏感的, 但在11g中, 数据库默认密码的大小写是敏感的, 我们就知道了一个事实, 那就是jdbc在给oracle密码时, 会将其变成大写,
去除oracle的密码大写敏感设定:alter system set sec_case_sensitive_logon=false
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31547066/viewspace-2650291/,如需转载,请注明出处,否则将追究法律责任。