0

我在 64 位 Windows 2008R2 上安装了 Oracle 11 XE。这是一台开发机器,因此我还安装了 Oracle Developer Tools for .NET(32 位)。这两种安装都带有它们自己的 SQLplus 版本。

我已将这两个 oracle 产品的 tnsnames.ora 和 sqlnet.ora 设置为相同,但我无法从任何一个 SQLplus 连接到本地 XE。我ORA-12560每次都明白。Oracle 11 XE 主页也无法启动。

   ---TNSNAmes.ora ----
    XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = DDSAP236.asxdev.asx.com.au)(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) 
    ) 
  ) 
    ----END TNSNAMEs.ora---

---Listener.Ora ---
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\Oracle\11Express\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:\Oracle\11Express\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = DMACHINE.MyDomain.com)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)


--End listener.ora----

Inservices.msclsntctrl两者都显示XElistener服务已启动。

我想知道我还能检查什么?

  1. 我可以在 Win2008R2 上运行 XE(32 位)吗?
  2. 我可以在 Win2008R2 上同时运行 XE 和 ODTODAC32 吗?
  3. 如何解决 ORA-12560 以便我可以连接到 XE 数据库?

附加信息

在这台机器的注册表中,HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Note\Oracle我有 5 个文件夹 - 有人可以确认这是否正确吗?文件夹是:

  1. KEY_ (不确定这是否正确)
  2. KEY_OracleClient11g_HOME(Oracle ODT 客户端安装的主目录)
  3. KEY_EX(11g EX 安装的家)
  4. ODP.Net(ODP 安装的一部分)
  5. OracleMTSRecoveryService(ODP 安装的一部分)
4

1 回答 1

0

如果这确实是您的 TNSNAMES.ORA,那么您的语法被破坏了 - 您在连接别名(每个条目的第一行)前面有额外的空格,这可能会导致您的问题。您的 TNSNAMES.ORA 应如下所示:

  XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = DDSAP236.asxdev.asx.com.au)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

但是,如果您的“真实” TNSNAMES.ORA 是正确的:

  • lsnrctl status 的输出是什么?
  • 您的侦听器日志包含什么?
  • sqlplus / as sysdba 工作吗?
于 2012-10-01T09:52:07.670 回答