近日客户反应:应用程序换到另一台机器运行时报错:“Ora-01017:用户名/口令无效; 登录被拒绝。”
检查各配置文件,确认用户名与密码无误,且通过plsql developer等工具都可正常连接,说明另有原因。
后经排查,发现新运行机器安装的是Oracle 12.1c客户端,而服务器是12.2c,正是这引起了Ora-01017错误。
解决方法:
1) 在服务器环境,修改sqlnet.ora,添加以下两行:
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
其中的数字代表了可允许连接的最小版本号。
2) 重启监听服务:lsnrctl restart
3) 重新设置一遍用户密码:
SQL> conn / as sysdba;
SQL>ALTER USER myuser IDENTIFIED BY mypassword;