首页 文章

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

提问于
浏览
29

尝试使用服务名称 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)
    )
  )

请告诉我该怎么办?

11 回答

  • 0

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

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

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

    然后以oracle用户身份登录

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

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

    echo %ORACLE_HOME%
    

    然后

    echo %ORACLE_SID%
    

    如果值不是您当前的oracle home和SID,则需要更正它们 . 这可以在Windows环境变量中完成 .

    退房this page for more info

  • 1

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

    解:

    1.更新listene.ora文件以包含SID .

    SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = C:\ oraclexe \ app \ oracle \ product \ 11.2.0 \ server)(PROGRAM = extproc))(SID_DESC =(SID_NAME = CLRExtProc)(ORACLE_HOME) = C:\ oraclexe \ app \ oracle \ product \ 11.2.0 \ server)(PROGRAM = extproc))(SID_DESC =((GLOBAL_DBNAME = XE.DB)((ORACLE_HOME = C:\ oraclexe \ app \ oracle \ product \ 11.2.0 \ server)((SID_NAME = XE)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1))(ADDRESS =(PROTOCOL = TCP)(HOST = USMUMTBALAKDAS2.us .deloitte.com)(PORT = 1521))))DEFAULT_SERVICE_LISTENER =(XE)

    Oraclexe目录的权限可以设置为“ReadOnly”,更改目录/子目录读/写权限并重新启动侦听器服务 . 问题解决了 .

    快乐的编码!干杯!!

  • 15

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

  • 1

    ORA-01034和ORA-27101通常表示您作为有权启动它的用户未连接的数据库实例 . 登录到服务器192.168.1.53并启动 orcl 实例,或让您的DBA为您执行此操作 .

  • 2

    我遇到了相同的 shared memory realm does not exist 症状(在Windows上),但原因不同 . 我刚刚安装了Oracle(XE)并经过一些故障排除后确定我的安装已损坏,因为我在安装它时存在ORACLE_HOME环境属性 .

    如果这是TLDR,请跳至'So to resolve:'!

    我最初的症状是:

    Message 850 not found; No message file for product=NETWORK, facility=NL
    

    显然,Windows安装从注册表中读取ORACLE_HOME,并且不需要(当然在我的情况下不应该......)环境属性 .

    删除它,如下:

    • 编辑系统环境设置(Windows键并开始键入'env',您应该会看到此选项出现 .

    • 删除任何名为ORACLE_HOME的用户和系统环境变量(如果存在) . (记录他们的 Value 观,主要是出于兴趣,但如果你因某些原因想把它们放回去,可能会有用!)

    • 重新启动机器 . 只需注销即可捣乱 - 重启机器 . Windows Oracle安装默认使用Windows服务,您的安装目前非常糟糕 - 需要重新启动 .

    重新启动后,我能够获得除“无消息文件......”之外的错误消息,并且可以开始查看问题所在 . 将ORACLE_SID设置为XE并连接@XE我得到了此页面中的错误,即以下症状:

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

    另一个症状是:当启动'Get started'页面时,它无法连接,发现未找到错误(如果我没记错),尽管启动了Windows监听器和XE服务 . 如另一个答案所述,这可能是由于Windows服务未启动 . 在我的情况下,这些服务已经启动,因此其他一些服务器配置错误 .

    在这一点上,我想可能我的安装刚刚出错,因为我应该重新安装我的错误的ORACLE_HOME环境属性 . (以前的重新安装没有帮助,但那些都是在我注意到ORACLE_HOME系统环境属性之前(可能是我一年前设置的!) .

    So to resolve:

    • 关闭任何查看Oraclexe安装目录的应用程序(编辑器/资源管理器/ cmd提示)

    • 快速浏览添加/删除程序并卸载OracleXe

    • 仔细检查您是否在任何地方都没有设置ORACLE_HOME环境属性,请记住 - Windows将使用注册表项来获取它 .

    • 重启(没有机会 - 我们长期参与其中!)

    • 您确定没有ORACLE_HOME属性吗?

    • 再次运行Oracle安装程序(如果适用,请作为本地管理员帐户)

    • 你应该能够在工作安装中高兴 . 我做了,至少!

  • 0
    SQL> sqlplus "/ as sysdba"
    SQL>startup
    Oracle instance started
    ------
    Database mounted.
    Database opened.
    Quit
    [oracle@hcis ~]$ lsnrctl start
    
  • 2

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

  • 53

    我希望你已经解决了你的问题 . 如果仍有问题,请再次仔细检查是否在域帐户下安装此Oracle . 我发现一个帖子说Oracle XE在域帐户下安装时会出现同样的错误 . 请改用本地帐户 .

    资源:

    https://community.oracle.com/thread/2141735?start=0&tstart=0

  • 1

    即使ORACLE_HOME和ORACLE_SID似乎已正确设置,我也会遇到同样的错误 .

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

    ## WRONG !!!
    export ORACLE_HOME=/usr/local/oracle/11gR2/
    
    ## CORRECT
    export ORACLE_HOME=/usr/local/oracle/11gR2
    

    因此,即使看起来一切都配置正常,请检查您的变量 .

相关问题