DBLINK 9i 連線11G 錯誤資訊ora-01017,ora-02063的解決方法
在oracle9i中建立一個dblink指向一個oracle11g的資料庫,使用者名稱、密碼配置完畢以後測試,丟擲這樣的錯誤碼:
ORA-01017: invalid username/password; logon denied
ORA-02063: preceding line from <link_name>
然後不知所措,到網上一搜,找到一段英文解釋,如下:
Cause
The following Bug 6738104 was logged for this issue which was closed as not a bug saying the cause being introduction of password case sensitivity feature in 11g
When one creates a database link connection, a user name and password for the connection needs to be defined. When the database link is created, the password is case sensitive. Before a user can connect from a pre-release 11g database to a 11g release database and as the password case sensitivity is enabled by default, you must re-create the password for this database link using all uppercase letters.
The reason you need to re-create the password using all uppercase letters is so that it will match how Oracle Database stores database link passwords. Oracle Database always stores this type of password in uppercase letters, even if the password had originally been created using lower or mixed case letters. If case sensitivity is disabled, the user can enter the password using the case the password was created in.
Solution
++ As the password case sensitivity is enabled by default, create the database link to the 11g database as shown below :
我的理解是這樣的:當9i連線11g時,會自動將密碼轉化為大寫,所以,如果11g的資料庫使用者密碼中,如果有小寫字母,應該全部改成大寫,然後再去用9i去連線,問題就解決了。
實際測試,果真如此。