【問題處理】“sqlplus / as sysdba”無法登陸——多餘的斜槓!

secooler發表於2010-06-20
今天有朋友在新安裝的RAC環境中使用“sqlplus / as sysdba”登陸系統無法完成登陸,最終確認問題的出處竟然是環境變數中的ORACLE_HOME結尾處多餘的斜槓“/”。
提醒大家多加註意。

再現一下這個問題。注意,該問題在各種環境中均有可能出現。

1.問題現象
1)使用“sqlplus / as sysdba”無法登陸到指定的ora10g例項
ora10g@secDB /home/oracle$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Mon Jun 20 21:32:52 2010

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Connected to an idle instance.

2)登陸具體的使用者是依然報錯
ora10g@secDB /home/oracle$ sqlplus sec/sec

SQL*Plus: Release 10.2.0.3.0 - Production on Mon Jun 20 21:36:19 2010

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory


Enter user-name:


3)如果使用透過服務名連線是能夠正常連線
ora10g@secDB /home/oracle$ sqlplus sec/sec@ora10g

SQL*Plus: Release 10.2.0.3.0 - Production on Mon Jun 20 21:33:46 2010

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options

sec@ora10g>

2.問題原因
錯誤的設定ORACLE_HOME環境變數。此時該環境變數的內容為:
ora10g@secDB /home/oracle$ echo $ORACLE_HOME
/oracle/app/oracle/product/10.2.0/db_1/

這個問題很隱蔽,問題就出現在結尾處的斜槓符號“/”,這個多餘的斜槓導致了該問題的發生。

3.問題處理
重新設定ORACLE_HOME環境變數,去掉結尾處的斜槓。

1)調整環境變數ORACLE_HOME
ora10g@secDB /home/oracle$ export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

2)驗證“sqlplus / as sysdba”登陸方法
ora10g@secDB /home/oracle$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Mon Jun 20 22:10:29 2010

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options

sys@ora10g>

3)驗證使用使用者名稱密碼登陸方式
ora10g@secDB /home/oracle$ sqlplus sec/sec

SQL*Plus: Release 10.2.0.3.0 - Production on Mon Jun 20 22:10:33 2010

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options

sec@ora10g>

喜人的SQL提示符出現在我們面前。

4.小結
任何一個細小之處都蘊藏著陷阱,引以為戒。杜絕此類問題出現的方法很簡單:細心+規範!

Good luck.

secooler
10.06.20

-- The End --

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

相關文章