ORA-01034&ORA-27101错误

我在同台机器上装了oracle 9.0.1.1.1版本的两个实例whcj/testszdb,全部从服务里面启动,停掉testszdb,再次启动,显示已启动。

 

从命令行连接到testszdb:

C:/Documents and Settings/Administrator>set ORACLE_SID=TESTSZDB

C:/Documents and Settings/Administrator>sqlplus whcj_11/abc

SQL*Plus: Release 9.0.1.0.1 - Production on 星期一 5月 16 13:51:01 2011

(c) Copyright 2001 Oracle Corporation.  All rights reserved.

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

 

刚开始看到这个错误还以为是内存设置的有问题,查看系统内存够用,网上查阅发现与内存无关。

查看sqlnet.log日志
D:/oracle/ora90/database/sqlnet.log


***********************************************************************
Fatal NI connect error 12560, connecting to:
 (DESCRIPTION=(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle)(ARGV0=oracletestszdb)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))'))(CONNECT_DATA=(SID=testszdb)(CID=(PROGRAM=D:/oracle/ora90/bin/oradim.exe)(HOST=JNKL-ED11DF0883)(USER=SYSTEM))))

  VERSION INFORMATION:
 TNS for 32-bit Windows: Version 9.0.1.1.0 - Production
 Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 9.0.1.1.0 - Production
  Time: 16-5月 -2011 13:52:39
  Tracing not turned on.
  Tns error struct:
    nr err code: 0
    ns main err code: 12560
    TNS-12560: TNS: 协议适配器错误
    ns secondary err code: 0
    nt main err code: 530
    TNS-00530: 协议适配器错误
    nt secondary err code: 2
    nt OS err code: 0

 

使用nolog方式登录

C:/Documents and Settings/Administrator>sqlplus /nolog

SQL*Plus: Release 9.0.1.0.1 - Production on 星期一 5月 16 15:14:47 2011

(c) Copyright 2001 Oracle Corporation.  All rights reserved.

SQL> conn sys/orcl as sysdba
已连接到空闲例程。
SQL> startup open testszdb;
ORACLE 例程已经启动。

Total System Global Area  118255568 bytes
Fixed Size                   282576 bytes
Variable Size              83886080 bytes
Database Buffers           33554432 bytes
Redo Buffers                 532480 bytes
数据库装载完毕。
数据库已经打开。
SQL> conn whcj_11/abc
已连接。
SQL>

至此问题消失,但仍有一个问题未能解决:在多实例情况下,用服务启动的实例,启动的是空闲实例还是装载数据库后的实例?

在11g中可以用net start/stop OracleServiceORCL 的方式,启动单个实例,这个时候数据库是打开的。

 

下面有一篇文章对这个问题描述的更详细,文章来自http://dev.csdn.net/htmls/20/20163.html

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.

 现在应该没甚么问题了。什么?还不行?那么建议你Google(http://www.google.com )一下
   或者到一些技术论坛(比如说ITPub或者CNOUG去看看)。祝你好运!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值