0

我在 2 年前构建的虚拟机上有 Windows 服务器。我在上面安装了 Oracle 数据库和 Sql Server。它工作得很好。但前两天我尝试使用 oracle 数据库,但出现错误:

ORA-12514 TNS: 监听器当前不知道连接描述符中请求的服务

我检查了 listener.ora 和 tnsnames.ora 并没有发现错误。

监听器.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 = THIS_IS_MY_HOST_NAME_OR_IP)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

和 tnsnames.ora

MAIN_DATABASE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = THIS_IS_MY_HOST_NAME_OR_IP)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

好的。之后我构建了另一个虚拟机并再次安装了 Oracle 数据库(XE),但仍然有同样的错误。OracleXe 和 TNSlistener 服务已启动。有任何想法吗?

请帮忙。

4

1 回答 1

0

出色地。我找到了这个解决方案,但我猜这不是最好的解决方案。OracleXe 已经安装。当我更改我的虚拟操作系统的名称时(例如,计算机名称是 User-xxx,我将其更改为 User-zzz)我收到此错误:

ORA-12514 TNS: 监听器当前不...

我看到 listener.ora 和 tnsnames.ora 和主机是:HOST=User-xxx

我想如果我将 User-xxx 更改为 User-zzz,它应该可以工作。也尝试重新启动系统,但无论如何它没有工作。

解决方案非常简单。卸载 OracleXe 并以新名称重新安装。如果有人知道更好的解决方案,请写。

于 2015-04-11T21:44:19.847 回答