Oracle11g密碼區分大小寫致使database link沒法鏈接

Oracle11g的密碼默認是區分大小寫的,該特性經過初始化參數sec_case_sensitive_logon控制,默認TRUE表示區分大小寫。可是Oracle11g以前的版本密碼都是不區分大小寫的,因此在Oracle10g等之前版本建立到Oracle11g的database link時,可能會碰到如下問題:
 
 
10g> create database link oracle11g
2 connect to ning identified by ning
3 using ’11g’;
 
Database link created.
 
10g> select * from v$version@oracle11g;
select * from v$version@oracle11g
*
ERROR at line 1:
ORA-01017: invalid username/password; logon denied
ORA-02063: preceding line from ORACLE11G
 
密碼確定是正確的
 
10g> conn ning/ning@11g;
Connected.
 
11g>
出現這個問題,應該是在10g中建立database link的時候密碼是以所有大寫的方式使用的,可是11g中的用戶密碼其實是小寫的。在之前版本中因爲不區分大小寫,因此沒有問題。到了11g問題就出現了,密碼不對^_^
 
解決辦法
 
1.在建立database link是將用戶名和密碼都以 雙引號引發來,這樣密碼就是安裝輸入字符使用的,不會轉換成大寫
 
10g> create database link oracle11g2
2 connect to 「ning」 identified by 「ning」
3 using ’11g’;
 
Database link created.
 
10g> select * from v$version@oracle11g2;
 
BANNER
——————————————————————————–
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 – Production
PL/SQL Release 11.1.0.6.0 – Production
CORE 11.1.0.6.0 Production
TNS for Linux: Version 11.1.0.6.0 – Production
NLSRTL Version 11.1.0.6.0 – Production
 
2.停用Oracle11g區分密碼大小寫的特性,可是不推薦
 
11g>alter system set sec_case_sensitive_logon=false;
 
System altered
 
10g> select * from v$version@oracle11g;
 
BANNER
——————————————————————————–
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 – Production
PL/SQL Release 11.1.0.6.0 – Production
CORE 11.1.0.6.0 Production
TNS for Linux: Version 11.1.0.6.0 – Production
NLSRTL Version 11.1.0.6.0 – Production
相關文章
相關標籤/搜索