為何Oracle Database 12R2輸入正確的使用者名稱密碼口令驗證依然不能透過?

xfhuangfu發表於2019-02-21

隨著Oracle資料庫版本的持續釋出,大部分企業逐漸在生產環境使用12cR2(12.2.0.1,18c-12.2.0.2)。

資料庫遷移或升級後,開發人員和運維遇到最常見的問題之一就是,使用Oracle 10g或11g早期版本的客戶端無法正常連線12.2,使用Oracle 10g或11g早期版本的客戶端的第三方工具和應用伺服器(WAS,Weblogic)也無法正常連線12.2,Oracle SQL Developer可以正常連線,因為Oracle SQL Developer不依賴這些Oracle客戶端。

 

使用Oracle 10g及11.2之前版本的Oracle客戶端使用sqlplus命令列,依賴於這些客戶端的第三方工具(plsql developer,toad)等連線Oracle12.2常見的報錯:

ORA-28040: No matching authentication protocol

ORA-01017: invalid username/password

 


根據MOS給出的建議在$ORACLE_HOME/network/admin/ sqlnet.ora 檔案中增加一下2行

SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10

12.2 中S QLNET.ALLOWED_LOGON_VERSION_SERVER 預設是12

 

修改sqlnet.ora檔案後,ORA-28040報錯沒有了。ORA-01017報錯依然存在。

[oracle@db12c ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 12.2.0.1.0 Production on Thu Feb 21 10:40:55 2019

 

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

 

 

Connected to:

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

 

SQL> col username for a20

SQL> col PASSWORD_VERSIONS for a10

SQL> set lines 200 pages 200

USERNAME                 PASSWORD_VERSIONS

---------------------------------------- --------------------

SYS                      11G 12C

SYSTEM                   11G 12C

XS$NULL

DBSNMP                   11G 12C

APPQOSSYS                11G 12C

GSMCATUSER               11G 12C

MDDATA                   11G 12C

SYSBACKUP                11G 12C

REMOTE_SCHEDULER_AGENT

DBSFWUSER                11G 12C

GSMUSER                  11G 12C

GGSYS                    11G 12C

ANONYMOUS

SYSRAC                   11G 12C

CTXSYS                   11G 12C

OJVMSYS                  11G 12C

SI_INFORMTN_SCHEMA           11G 12C

DVSYS

DVF

AUDSYS                   11G 12C

GSMADMIN_INTERNAL            11G 12C

DIP                      11G 12C

ORDPLUGINS               11G 12C

MDSYS                    11G 12C

OLAPSYS                  11G 12C

LBACSYS                  11G 12C

SYSKM                    11G 12C

ORDDATA                  11G 12C

OUTLN                    11G 12C

ORACLE_OCM               11G 12C

SYS$UMF                  11G 12C

XDB                      11G 12C

SYSDG                    11G 12C

WMSYS                    11G 12C

ORDSYS                   11G 12C

SPATIAL_CSW_ADMIN_USR            11G 12C

SYS                      11G 12C

SYSTEM                   11G 12C

XS$NULL                  11G

DBSNMP                   11G 12C

APPQOSSYS                11G 12C

GSMCATUSER               11G 12C

MDDATA                   11G 12C

SYSBACKUP                11G 12C

REMOTE_SCHEDULER_AGENT

DBSFWUSER                11G 12C

GSMUSER                  11G 12C

GGSYS                    11G 12C

ANONYMOUS

SYSRAC                   11G 12C

HR                       11G 12C

CTXSYS                   11G 12C

BI                       11G 12C

OJVMSYS                  11G 12C

SI_INFORMTN_SCHEMA       11G 12C

DVSYS                    11G

DVF                    11G

AUDSYS                   11G 12C

GSMADMIN_INTERNAL            11G 12C

DIP                  11G 12C

ORDPLUGINS               11G 12C

OE                   11G 12C

PM                   11G 12C

MDSYS                    11G 12C

OLAPSYS                  11G 12C

LBACSYS                  11G 12C

SYSKM                    11G 12C

ORDDATA                  11G 12C

OUTLN                    11G 12C

ORACLE_OCM               11G 12C

SYS$UMF                  11G 12C

PDBHRADMIN               11G 12C

XDB                  11G 12C

IX                   11G 12C

SYSDG                    11G 12C

WMSYS                    11G 12C

ORDSYS                   11G 12C

SPATIAL_CSW_ADMIN_USR            11G 12C

SH                   11G 12C

 

79 rows selected.

 

在12.2資料庫服務端使用alter user再修改一次密碼,10g及11.2以前客戶端可以正常連線12.2

 

SQL> alter user username identified by password ;

 

User altered.

 

另外,建議生產進行升級時應用程式和Oralce客戶端也應該同時升級。

 

從上圖可以看出,12.2支援11.2以上的客戶端。


 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28373936/viewspace-2636543/,如需轉載,請註明出處,否則將追究法律責任。

相關文章