关于Oracle 10G 配置2个监听的奇怪问题(在线等待)
我在虚拟机(虚拟机安装的操作系统是RedHat Enterprise Linux 5)上安装了Oracle 10G,并在安装过程中完成了第一个数据库的创建(svr)SID是svr;然后我用oralce用户登录RHEL5,用命令:dbca 创建了第二个数据库(cli)SID是cli。我的本意在一台机子上建2个Oracle数据库,并通过2个监听来实现对这2个数据库的访问。
但现在出现一个问题。我将第一个监听配置端口为1521(svr),第二个监听配置端口为1522(cli)。并启动数据库和监听。监听启动的输出:
XXXX>lsnrctl start
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 06-FEB-2009 16:42:19
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Starting /home/oracle/dbhome/product/10.2.0/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /home/oracle/dbhome/product/10.2.0/network/admin/listener.ora
Log messages written to /home/oracle/dbhome/product/10.2.0/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rhel5)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 06-FEB-2009 16:42:19
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /home/oracle/dbhome/product/10.2.0/network/admin/listener.ora
Listener Log File /home/oracle/dbhome/product/10.2.0/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rhel5)(PORT=1521)))
Services Summary...
Service "svr" has 1 instance(s).
Instance "svr", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
发现cli并没有启动。然后我用netstat -ant来查看,结果:
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:1521 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:57723 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:37919 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:45143 127.0.0.1:1521 ESTABLISHED
tcp 0 0 127.0.0.1:45144 127.0.0.1:1521 ESTABLISHED
tcp 0 0 127.0.0.1:1521 127.0.0.1:45143 ESTABLISHED
tcp 0 0 127.0.0.1:1521 127.0.0.1:45144 ESTABLISHED
tcp 0 0 :::6000 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::ffff:192.168.0.2:22 ::ffff:192.168.0.1:1407 ESTABLISHED
tcp 0 0 ::ffff:192.168.0.2:22 ::ffff:192.168.0.1:1412 ESTABLISHED
tcp 0 0 ::ffff:192.168.0.2:22 ::ffff:192.168.0.1:1416 ESTABLISHED
tcp 0 0 ::ffff:192.168.0.2:22 ::ffff:192.168.0.1:1223 ESTABLISHED
并没有1522的监听。
REHL 5下的Oralce监听的配置文件:
SID_LIST_LISTENER2 =
(SID_LIST =
(SID_DESC =
(SID_NAME = cli)
(ORACLE_HOME = /home/oracle/dbhome/product/10.2.0)
(PROGRAM = extproc)
)
)
LISTENER2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rhel5)(PORT = 1522))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = svr)
(ORACLE_HOME = /home/oracle/dbhome/product/10.2.0)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = rhel5)(PORT = 1521))
)
)
在Windows下用Net Configuration Assistant来配置“本地NET服务名”,结果所有的配置都只能通过1521这个端口访问到RHEL5上的库(svr库和cli库都可以通过1521访问,但cli不能通过1522来访问。报错:正在连接...ORA-12541: TNS: 无监听程序)。
请问用怎样配置可以实现我的想法?