一、ORA-28040
问题描述 客户端连接Oracle 12c时,报异常 ORA-28040: No matching authentication protocol
问题原因 Oracle 12c 的参数 SQLNET.ALLOWED_LOGON_VERSION_SERVER、SQLNET.ALLOWED_LOGON_VERSION_CLIENT 默认等于 11,当我们使用 11g JDBC 之前版本的 thin 驱动连接的时候,就会出现该异常
解决方法
编辑sqlnet.ora SQLNET.ALLOWED_LOGON_VERSION_SERVER=10 SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10
二、ORA-01017
问题描述 客户端连接 Oracle 12c 时,报异常 ORA-01017: invalid username/password; logon denied
问题原因 查询 dba_users,观察 password_version
select username,account_status,default_tablespace,created,password_versions from dba_users;
配置sqlnet之前生成的账号依然是只适用于11g以上版本的
解决方法
重新配置密码
ALTER USER username IDENTIFIED BY password;
验证
select username,account_status,default_tablespace,created,password_versions from dba_users;

