今天有朋友在新安装的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 --
提醒大家多加注意。
再现一下这个问题。注意,该问题在各种环境中均有可能出现。
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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/519536/viewspace-665824/