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

Oracle 11g XE ORA-01034 and ORA-27101 after multiple installation of 10 and 11 versions

  1. Windows 7 x64
  2. Oracle 11g XE 的本地实例

您好,我是 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.2.0\server\

我查过了(echo %ORACLE_HOME%returns C:\oraclexe\app\oracle\product.2.0\server)

我还 运行 终端集 ORACLE_SID=xe 中的一个命令(我也检查了它 returns 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.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.2.0\server\ 和 int Path 我也有 C:\oraclexe\app\oracle\product.2.0\server\bin;

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.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product.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.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 中,我收到的警告很少 "WARNING: Subscription for node down event still pending"。我只有这个警报文件夹。 (我没有对应 第 8 部分的日志)

所以我真的对这一切感到困惑。我在家里成功安装了 oracle,所以我认为这个问题可能与多次安装和卸载 oracle 10 和 11 有关,也可能与 http://127.0.0.1:8080/apex/f?p=4950 not started.

有关

我试图根据这个 提供信息。如果需要什么请告诉我。但是我没有设法找到数据库日志 我试图查看 $ORACLE_BASE/diag 但其中只有 tnslsnr 文件夹而没有 rdbms 文件夹。感谢您的时间和耐心)。

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

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