ORA-01034:ORACLE不可用ORA-27101:共享内存领域不存在

问题描述 投票:37回答:12

当尝试使用服务名称orcl从客户端连接到服务器数据库时,出现上述错误。当我使用其他服务名称即dms

时,它已建立连接

下面是我的listener.ora

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = dms)
      (SERVICE_NAME = dms)
      (ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
#      (PROGRAM = extproc)
    )
  (SID_DESC =
     (SID_NAME = orcl)
     (SERVICE_NAME = dms)
    # (GLOBAL_DBANME = orcl)
      (ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
   #  (PROGRAM = extproc)
  )
  )


LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.53)(PORT = 1521))

    )
  )

ADR_BASE_LISTENER = /home/oracle/app/oracle
and tnsnames.ora
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.53)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
     #(SERVICE_NAME = orcl.localdomain)
      (ORACLE_SID = dms)
      (SERVICE_NAME = orcl)
    )
  )

DMS =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.53)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = dms)
      (ORACLE_SID = dms)
    )
  )

请告诉我该怎么办?

oracle oracle11g ora-01034 ora-27101
12个回答
61
投票

打开命令提示符并执行以下命令:

set oracle_sid=DATABASE NAME
sqlplus /nolog
conn sys/sys as sysdba
shutdown abort
startup

1
投票

我在Windows上遇到相同的shared memory realm does not exist症状,但原因不同。我刚刚安装了Oracle(XE),并进行了一些故障排除后,发现由于安装ORACLE_HOME环境属性时存在安装错误,导致安装损坏。


0
投票

您的listener.ora配置错误。没有orcl服务。


0
投票

我希望您已经解决了您的问题。如果仍然遇到问题,请再次检查是否以域帐户安装此Oracle。我发现一个线程,说在域帐户下安装时,Oracle XE给出了同样的错误。请改为使用本地帐户。


19
投票

有时。数据库将无法正确安装,因此我们需要手动安装...为此,请关闭它并启动它然后再安装...。运行以下命令

然后以oracle用户身份登录

sqlplus / as sysdba;
shutdown immediate;
startup nomount;
alter database mount;
alter database open;

5
投票

请确保您的ORACLE_HOME和ORACLE_SID正确要在Windows中查看当前值,请在命令提示符下键入

echo %ORACLE_HOME%

然后

echo %ORACLE_SID%

如果这些值不是您当前的Oracle主目录和SID,则需要对其进行更正。这可以在Windows环境变量中完成。

签出 this page for more info


2
投票

ORA-01034和ORA-27101通常表示您尝试连接的数据库实例已关闭,并且您没有作为具有启动权限的用户连接。登录到服务器192.168.1.53并启动orcl实例,或要求您的DBA替您执行此操作。


2
投票

在Windows XP上有相同的问题。解决。该错误是由于系统日志已满引起的。控制面板->管理工具->事件查看器右键单击应用程序日志,清除所有事件,也可以选择保存日志。系统日志的过程相同。重新启动,它应该可以工作。


2
投票

在cmd中运行:

sqlplus / as sysdba;

然后:

SQL> create pfile='c:/init.ora' from spfile;

删除sga_target文件中的init.ora行,然后:

SQL> create spfile from pfile='c:/init.ora';
SQL> startup;

2
投票
SQL> sqlplus "/ as sysdba"
SQL> startup

      Oracle instance started
      ------
      Database mounted.
      Database opened.

SQL> Quit

[oracle@hcis ~]$ lsnrctl start

2
投票

即使ORACLE_HOMEORACLE_SID似乎设置正确,我也发生了同样的错误。

问题出在ORACLE_HOME中,不应以斜杠字符结尾。当我删除斜杠后,它开始正常工作。

# ❌ INCORRECT
export ORACLE_HOME=/usr/local/oracle/11gR2/

# ✔️ CORRECT
export ORACLE_HOME=/usr/local/oracle/11gR2

因此,即使看起来一切都配置正确,请为此检查您的变量。]​​>


2
投票

我在SQLDeveloper上创建连接时遇到了相同的问题“ ORA-01034:ORACLE不可用ORA-27101:共享内存领域不存在”

© www.soinside.com 2019 - 2024. All rights reserved.