电脑技术学习

ORA01034/ORA27101的解决方法

dn001

  
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.