ORA-28040: No matching authentication protocol
背景:
应用连接oracle 18c rac 报错
1、俩节点查询password_versions版本
su - oracle sqlplus / as sysdba set linesize 400; set pagesize 400; col username for a22; col account_status for a20; col password_versions for a20; col authentication_type for a20; col default_tablespace for a22;select username,account_status,password_versions,authentication_type,default_tablespace from dba_users;
SQL> select username,account_status,password_versions,authentication_type,default_tablespace from dba_users; USERNAME ACCOUNT_STATUS PASSWORD_VERSIONS AUTHENTICATION_TYPE DEFAULT_TABLESPACE ---------------------- -------------------- -------------------- -------------------- ---------------------- SYS OPEN 11G 12C PASSWORD SYSTEM SYSTEM OPEN 11G 12C PASSWORD SYSTEM XS$NULL EXPIRED & LOCKED 11G PASSWORD SYSTEM LBACSYS LOCKED NONE SYSTEM OUTLN LOCKED NONE SYSTEM DBSNMP OPEN 11G 12C PASSWORD SYSAUX APPQOSSYS LOCKED NONE SYSAUX DBSFWUSER LOCKED NONE SYSAUX GGSYS LOCKED NONE SYSAUX ANONYMOUS EXPIRED & LOCKED PASSWORD SYSAUX HR EXPIRED & LOCKED 11G 12C PASSWORD SYSAUX CTXSYS EXPIRED & LOCKED 11G 12C PASSWORD SYSAUX DVSYS LOCKED NONE SYSAUX DVF LOCKED NONE SYSAUX GSMADMIN_INTERNAL LOCKED NONE SYSAUX MDSYS LOCKED NONE SYSAUX OLAPSYS LOCKED NONE SYSAUX XDB LOCKED NONE SYSAUX WMSYS LOCKED NONE SYSAUX GSMCATUSER LOCKED NONE USERS MDDATA LOCKED NONE USERS SYSBACKUP LOCKED NONE USERS REMOTE_SCHEDULER_AGENT LOCKED NONE USERS PDBADMIN OPEN 11G 12C PASSWORD USERS GSMUSER LOCKED NONE USERS SYSRAC LOCKED NONE USERS OJVMSYS LOCKED NONE USERS SI_INFORMTN_SCHEMA LOCKED NONE USERS AUDSYS LOCKED NONE USERS DIP LOCKED NONE USERS ORDPLUGINS LOCKED NONE USERS GAC_TGKBUSINESS OPEN 11G 12C PASSWORD USERS TT OPEN 11G 12C PASSWORD USERS SYSKM LOCKED NONE USERS ORDDATA LOCKED NONE USERS ORACLE_OCM LOCKED NONE USERS SYS$UMF LOCKED NONE USERS SYSDG LOCKED NONE USERS ORDSYS LOCKED NONE USERS GAC_TGKBUSINESS_BD OPEN 11G 12C PASSWORD USERS 41 rows selected. SQL>
可以看到 TT 账户的PASSWORD_VERSIONS 兼容性为11G 和 12c
2、修改rac俩节点的sqlnet.ora(如果没有就新创建)
俩节点均需要操作 su - oracle vi $ORACLE_HOME/network/admin/sqlnet.ora cat $ORACLE_HOME/network/admin/sqlnet.ora NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) SQLNET.ALLOWED_LOGON_VERSION_SERVER=8 SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
3、重新更新用户密码(很重要,这一步才能生效)
SQL> alter user TT identified by "XXXXXXXXX"; User altered.
4、再次查询确认TT用户的密码验证兼容版本
SQL> set linesize 400; set pagesize 400; col username for a22; col account_status for a20; col password_versions for a20; col authentication_type for a20; col default_tablespace for a22; select username,account_status,password_versions,authentication_type, 2 default_tablespace from dba_users where username='TT'; USERNAME ACCOUNT_STATUS PASSWORD_VERSIONS AUTHENTICATION_TYPE DEFAULT_TABLESPACE ---------------------- -------------------- -------------------- -------------------- ---------------------- TT OPEN 10G 11G 12C PASSWORD USERS SQL>
5、如果不生效,就需要重启数据库了。

浙公网安备 33010602011771号