ORA01034/ORA27101的解决方法

作者:网络 来源:佚名 更新时间:2008-02-09 10:15:47 点击:

ora-01034错误的解决办法

--oracle常见错误之一

事先说明,oracle高手是不需要看本文的。

这是个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.