Oracle数据库在一台机器配置两个listener
问题:一台机器同时装两套数据库时(实例名o8161,o8151),无法同时启动两个listener,当启动第二个listener时,显示错误。 $ lsnrctl start LSNRCTL for IBM/AIX RISC System/6000: Version 8.1.5.0.0 - Production on 14-SEP-00 09:25:17 (c) Copyright 199
问题:一台机器同时装两套时(实例名o8161,o8151),无法同时启动两个listener,当启动第二个listener时,显示错误。
$ lsnrctl start
LSNRCTL for IBM/AIX RISC System/6000: Version 8.1.5.0.0 - Production on 14-SEP-00 09:25:17
(c) Copyright 1998 Oracle Corporation. All rights reserved.
TNS-01106: Listener using listener name LISTENER has already been started
$ oerr tns 1106
01106, 00000, "Listener using listener name %s has already been started"
// *Cause: Another listener is already listening on one of the ADDRESSes
// specified.
// *Action: Shutdown the previous listener specified by the listener name
// before starting this one.
问题产生原因:
两个实例的LISTENER.ORA中IPC协议的KEY是相同,而一个系统中KEY必须是唯一的.
解决办法:
修改key的值即可。修改后的文件信息:
o8161实例:(没有修改)
# LISTENER.ORA Configuration File:/oracle/dbs/opstemp/szpcac1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = loopback)(PORT = 1521))
)
)
(DESCRIPTION =
(PROTOCOL_STACK =
(PRESENTATION = GIOP)
(SESSION = RAW)
)
(ADDRESS = (PROTOCOL = TCP)(HOST = loopback)(PORT = 2481))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle)
(PROGRAM = extproc)
)
(SID_DESC =
(ORACLE_HOME = /oracle)
(SID_NAME = o8161)
)
)
08151实例:(经过修改)
# LISTENER.ORA Configuration File:/ora815/network/admin/listener.ora
# Generated by Oracle Net8 Assistant
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = TESTo815))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = loopback)(PORT = 1526))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = ora8151)
(ORACLE_HOME = /ora815)
(PROGRAM = extproc)
)
)