4

我们在一台服务器(均为 11g)上有两个 Oracle 实例,它们使用相同的侦听器。我在连接到 extproc 时遇到问题:

TNSNAMES.ORA

EXTPROC_CONNECTION_DATA.NATIONAL.SERVER.COM =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC11G))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = PLSExtProc11g)
    )
  )

听众.ORA

(DESCRIPTION_LIST=
    (DESCRIPTION =
       (ADDRESS_LIST=
         (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
         (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC11G))
     )
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc11g)
      (ORACLE_HOME = /home/app/oracle/product/11.2.0/dbhome_1)
      (ENVS = "EXTPROC_DLLS=ANY")
      (PROGRAM = extproc)
    )

当我使用 TNSPING 检查连接时,我得到以下信息:

/home/app/oracle/product/11.2.0/dbhome_1/network/admin/sqlnet.ora

$tnsping EXTPROC_CONNECTION_DATA

适用于 Linux 的 TNS Ping 实用程序:版本 11.2.0.1.0 - 生产于 2011 年 11 月 3 日 14:03:41

版权所有 (c) 1997、2009,甲骨文。版权所有。

使用的参数文件:

使用 TNSNAMES 适配器解析别名 Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC11G))) (CONNECT_DATA = (SERVICE_NAME = PLSExtProc11g))) TNS-12541: TNS:no listener

我能够成功地对两个数据库进行 tnsping,但不能成功地对 EXTPROC_CONNECTION_DATA 进行 tnsping。

4

2 回答 2

0

在这种特殊情况下,listener.ora 文件中显然存在某种类型的隐藏字符。使用 netca 重新配置侦听器解决了该问题。

于 2011-11-04T14:29:26.060 回答
0

使用正确的值更改 SID_NAME,它可能会解决问题。

例如:(SID_NAME = PLSExtProc11g) 到 (SID_NAME = ORCL)

于 2019-05-29T11:07:47.127 回答