我们在一台服务器上使用两个Oracle实例(均为11g),这些实例使用相同的侦听器。我遇到连接extproc的问题:
TNSNAMES.ORA
EXTPROC_CONNECTION_DATA.NATIONAL.SERVER.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC11G))
)
(CONNECT_DATA =
(SERVICE_NAME = PLSExtProc11g)
)
)
LISTENER.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 - 生产于03-NOV-2011 14:03:41
版权所有(c)1997,2009,Oracle。保留所有权利。
使用过的参数文件:
使用TNSNAMES适配器来解析别名 试图联系(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC11G)))(CONNECT_DATA =(SERVICE_NAME = PLSExtProc11g))) TNS-12541:TNS:没有听众
我能够成功修改两个数据库,但不能成功修改EXTPROC_CONNECTION_DATA。
答案 0 :(得分:0)
在这个特殊情况下,listener.ora文件中显然存在某种类型的隐藏字符。使用netca重新配置监听器解决了这个问题。
答案 1 :(得分:0)
使用正确的值更改SID_NAME,这可能会解决问题。
示例: (SID_NAME = PLSExtProc11g) 至 (SID_NAME = ORCL)