ORA-01034 错误的解决办法

这是个Oracle数据库服务器比较常见的错误。有经验的用户几乎马上就能解决这个错误,再不济也能马上到 Metalink(http://metalink.oracle.com)去搜索一下。
不幸的是,大多的时候,都是初级用户遇到的这样的问题(对他们提 Metalink 也起不到什么作用–一般都没有上面的帐号:))。所以,这个小帖子可能还有一定的作用。
问题描述
在试图启动数据库的时候,Oracle报告下列错误:

ERROR:
ORA-27101 Shared memory realm does not exist
ORA-01034 ORACLE not available

基本解释

Error: ORA-27101 
Text: shared memory realm does not exist
-------------------------------------------
Cause: Unable to locate shared memory realm Action: Verify that the realm is accessible

如何解决
这个问题其实用一句话就可以说清楚:
ORACLE_HOME或者ORACLE_SID设置不正确.在以前的版本中,如果ORACLE_SID不正确,一般都只提示 ORA-01034。Oracle 8.1.7 给出一个额外的信息:ORA-27101。
如果是Unix,在Shell里把ORACLE_SID设置正确即可(注意大小写敏感的问题)。此外,检查ORACLE_HOME 环境变量。如何检查参考如下的命令:

% echo $ORACLE_SID
% ps -ef |grep smon 

如果是Windows,一般都是因为系统中有多个实例造成的。
可以在命令行下 

C:\>set ORACLE_SID=DEMO

把这里的DEMO换为你相应的实例名。如果还不行的话,检查注册表中的ORACLE_HOME。
此外,在Windows环境下有的时候连接不上远程的数据库,会报告如此的错误。
解决办法是把sqlnet.ora文件中的 SQLNET.AUTHENTICATION_SERVICES = (NTS) NTS 换 为NONE。
最初发表在 http://dev.csdn.net/article/20/20163.shtm. 以后的维护版本以这里为准。
EOF


  • 小田

    ORACLE_HOME或者ORACLE_SID设置不正确 指的是ORACLE 的注册表的目录?set ORACLE_SID = SID,这样我还是一行,看的一下注册表的ORACLE_HIME是对的阿!!

  • http://jidan.org sumnny

    按照上述方法都没解决偶的问题;(

  • http://www.dbanotes.net Fenng

    本来就不是什么太复杂的错误