环境:
在一台主机上有两个oracle用户,每个用户装有一个数据库实例,分别有各自的监听名
在启动一个监听后,然后再启动另外一个监听时报TNS-01106错误
oracle@p570 admin]$lsnrctl start listener2
LSNRCTL for IBM/AIX RISC System/6000: Version 10.2.0.2.0 - Production on 04-JUN-2008 11:08:59
Copyright (c) 1991, 2005, Oracle. All rights reserved.
TNS-01106: Listener using listener name LISTENER has already been started
每个用户的listener.ora配置如下:
SID_LIST_gzthgk =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /ora_tygk/app/product/10.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = gzthgk)
(ORACLE_HOME = /ora_tygk/app/product/10.2.0/db_1)
(SID_NAME = gzthgk)
)
)
gzthgk =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.160.8.35)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
SID_LIST_nstrong=
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /ora_ywgl/app/product/10.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = nstrong)
(ORACLE_HOME = /ora_ywgl/app/product/10.2.0/db_1)
(SID_NAME = nstrong)
)
)
nstrong =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.160.8.51)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
主要原因nstrong和gzthgk的key为EXTPROC0相同导致,所以有一个启动了,会导致另外一个启动不了
解决方法:把其中一个listener的key=EXTPROC0改为key=EXTPROC1,或者去掉这一行
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
两个监听启动都正常。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7199859/viewspace-617443/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7199859/viewspace-617443/