0

我已经按照Raimonds Simanovskis 的指南在 Mac OSX Snowleopard 上安装了 Oracle ,据我所知,这是 Snowleopard 的唯一有效安装指南。

只要我只在 MacOX 下的 Mac 上使用 Oracle,它就可以正常工作,没有问题。

现在我在 Mac (Parallels Desktop 5) 上有一个虚拟机,并且在这个 VM 中运行 Windows XP。我想从 Windows 下的 VM 访问在 Mac OSX 上运行的 Oracle 数据库。从逻辑上讲,它就像从另一台计算机访问一样。但总是当我尝试从 XP 访问时,例如使用 sqlplus

sqlplus iwes/iwes@192.168.3.2:1521/dbname

(192.168.3.2 它是使用“仅主机网络”的 MacOS 的地址。此地址在其他应用程序中运行良好。)
然后我收到错误消息

ERROR:
ORA-12541: TNS: Kein Listener    [German for: "no listener"]

(在 Mac OSX 上,Oracle 和侦听器都已启动并正常工作)

我的 Oracle 安装有什么问题或缺少什么?

这是我的 listener.ora

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /opt/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = dbname)
      (ORACLE_HOME = /opt/oracle/product/10.2.0/db_1)
      (GLOBAL_DBNAME = dbname)
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

和我的 tnsnames.ora

dbname =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = dbname)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )
4

1 回答 1

2

您的 listener.ora 应该指定 192.168.3.2 作为主机,而不是 localhost。

您的 tnsnames.ora 应指定 192.168.3.2 作为别名 dbname 的主机(如果您使用 tnsnames.ora) 在您的示例中,您不使用 tnsnames.ora 而是直接跳转到 mac 的 IP 地址。还要检查mac上的防火墙。

于 2012-05-09T09:55:07.643 回答