经过多次安装10和11版本后,Oracle 11g XE ORA-01034和ORA-27101

时间:2017-04-06 10:02:37

标签: oracle oracle11g oracle10g

  1. Windows 7 x64
  2. Oracle 11g XE的本地实例
  3. 您好,我是Oracle的新手。我已经重新安装了几次oracle(版本10和11)。

    安装后我遇到以下问题 当我尝试执行

    sqlplus sys as sysdba
    

    我收到了ORA-12638和我无法连接的问题http://127.0.0.1:8080/apex/f?p=4950(在之前安装的Oracle 10g上我能够连接到它)。

    通过在sqlnet.ora文件中设置SQLNET.AUTHENTICATION_SERVICES =(NONE)来修复ORA-12638。

    在此修复之后,我成功停止并启动了数据库(OracleServiceXe) 现在,在我使用sqlplus sys as sysdba之后,我得到了(ORA-01031: insufficient privileges)。 所以我试图以系统身份登录。现在我得到

    ERROR:
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Process ID: 0
    Session ID: 0 Serial number: 0
    

    所以现在我试图解决这个问题。我发现了一些可能与ORACLE_HOME和ORACLE_SID相关的提示 所以我在值

    之后添加了环境变量
    ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server\
    

    我查了一下(echo%ORACLE_HOME%返回C:\ oraclexe \ app \ oracle \ product \ 11.2.0 \ server)

    我也在终端机ORACLE_SID=xe中运行一个命令(我打算检查它返回xe) 在我重新启动OracleServiceXe并再次尝试以系统身份登录后,我得到了相同的ORA错误(01034和27101)

    1 - 检查了聆听者状态

    C:\>lsnrctl status
    
    LSNRCTL for 64-bit Windows: Version 11.2.0.2.0 - Production on 06-╩┬▓-2017 12:16
    :16
    
    Copyright (c) 1991, 2014, Oracle.  All rights reserved.
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for 64-bit Windows: Version 11.2.0.2.0 - Produ
    ction
    Start Date                06-╩┬▓-2017 11:36:35
    Uptime                    0 days 0 hr. 39 min. 43 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Default Service           XE
    Listener Parameter File   C:\oraclexe\app\oracle\product\11.2.0\server\network\a
    dmin\listener.ora
    Listener Log File         C:\oraclexe\app\oracle\diag\tnslsnr\IIAROSHENKO\listen
    er\alert\log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=[IIAROSHENKO(host info)...])(PORT=15
    21)))
    Services Summary...
    Service "CLRExtProc" has 1 instance(s).
      Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Service "PLSExtProc" has 1 instance(s).
      Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully
    

    2 - 已开始检查相关服务 我重新启动了OracleServiceXE& OracleXETNSListener

    3 - 检查我的路径变量是否正确 我检查了我的环境变量(我有ORACLE_HOME = C:\ oraclexe \ app \ oracle \ product \ 11.2.0 \ server \和int Path我也有C:\ oraclexe \ app \ oracle \ product \ 11.2.0 \ server \仓;

    4 - 我的tsnnames.ora和listener.ora tsnnames.ora

    XE =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = [IIAROSHENKO(host info)...])(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = XE)
        )
      )
    
    EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )
    
    ORACLR_CONNECTION_DATA = 
      (DESCRIPTION = 
        (ADDRESS_LIST = 
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
        ) 
        (CONNECT_DATA = 
          (SID = CLRExtProc) 
          (PRESENTATION = RO) 
        ) 
      ) 
    

    的listener.ora

    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)
        )
      )
    
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
          (ADDRESS = (PROTOCOL = TCP)(HOST = [IIAROSHENKO(host info)...])(PORT = 1521))
        )
      )
    
    DEFAULT_SERVICE_LISTENER = (XE)
    

    5 - 在注册表中检查了ORACLE_HOME和ORACLE_SID

    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_XE
    ORACLE_SID=XE
    ORACLE_HOME=C:\oraclexe\app\oracle\product\11.2.0\server
    ORACLE_BASE=C:\oraclexe\app\oracle
    

    6 - 尝试启动实例

    C:\>sqlplus
    
    SQL*Plus: Release 11.2.0.2.0 Production on ╫Є. ╩т│ 6 12:42:09 2017
    
    Copyright (c) 1982, 2014, Oracle.  All rights reserved.
    
    Enter user-name: system
    Enter password:
    ERROR:
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Process ID: 0
    Session ID: 0 Serial number: 0
    
    
    Enter user-name:
    

    7。在警报文件夹中 C:\ oraclexe \ app \ oracle \ diag \ tnslsnr \ IIAROSHENKO \ listener \ alert我收到了一些警告"警告:节点关闭事件的订阅仍然未决"。我只有这个警报文件夹。 (我没有记录对应Oracle 11g XE - sudden ORA-01034: ORACLE not available and ORA-27101: shared memory realm does not exist第8部分)

    所以我真的很困惑这一切。我在家里成功安装了oracle,所以我认为这个问题可能与多次安装和取消oracle 10和11有关,这可能与http://127.0.0.1:8080/apex/f?p=4950没有启动有关。

    我尝试提供符合此Oracle 11g XE - sudden ORA-01034: ORACLE not available and ORA-27101: shared memory realm does not exist的信息。如果需要什么,请告诉我。但我没有设法找到数据库日志,我试图查看$ ORACLE_BASE / diag,但是它中只有tnslsnr文件夹,没有rdbms文件夹。感谢您的时间和耐心)。

2 个答案:

答案 0 :(得分:0)

我的同事帮我解决了这个问题。 解决方案是unistall oracle,创建一个新用户并授予他管理权限(computer -> manage -> Local Users and Groups -> Users -> add user)。要以此用户(。\ user)身份登录并安装oracle,之后使用您自己的帐户输入。之后,开始页面开始工作。我对oracle不太熟悉,所以我会更多地阅读这个问题,但是现在我希望这个解决方案可以帮助别人。

答案 1 :(得分:0)

我发生了相同的错误,尝试了所有方法,但解决方案很简单-在BIOS中更改日期和时间设置后,我的PC的日期和时间未正确设置(一个小时前),重新安装了Oracle XE,一切正常!