实验用到的知识点:
一、一个监听配置对应于一个相同监听名的监听程序,两者一一对应。
二、 一个监听配置条目对应于一个监听点,两个内容相同的监听配置条目当然都是对应于同一个监听点。也就是说,每个监听点都有自己的一个监听配置条目,不同监听点间的区别就在于他们的监听配置条目的内容不一样。如果两个不同监听配置里包含一条相同内容的监听配置条目,则两者对应的监听程序就都想要监听同一个监听点。
1、一个监听程序对应的监听配置里有多个监听配置条目,则该监听程序可以监听多个监听点。如下图所示:
2、 一个监听点只能允许被一个监听程序所监听。例如,在监听点a被监听程序A监听后,若启动另一个监听程序B,而这个监听程序B所要监听的监听点里就包含了监听点a,则监听程序B不会被启动,会提示“A已经启动”。如下图所示:
例如,监听配置A包含有监听配置条目1和监听配置条目2,监听配置B包含有监听配置条目2,监听配置C包含有监听配置条目1。故而,A和B包含有共同的监听配置条目2,A和C包含有共同的监听配置条目1。具体如下:
所有实验的初始条件都是监听程序A、B、C都没有启动。
实验一(“正在连接到”操作的特点,异名同配间的关系):
查看监听程序A和B间的关系,如下图:
其中,监听点a对应于监听配置2。
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\Administrator>lsnrctl
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 22-10月-2013 22:1
2:45
Copyright (c) 1991, 2005, Oracle. All rights reserved.
欢迎来到LSNRCTL, 请键入"help"以获得信息。
LSNRCTL>start B
LSNRCTL>start A
TNS-01106:使用名称B的监听程序已经启动。
LSNRCTL> status A
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST = 192.168.0.30)(PORT = 1525)
))
TNS-12541: TNS:无监听程序
TNS-12560: TNS:协议适配器出现错误
TNS-00511: 无监听程序
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST = 192.168.0.30)(PORT = 1523)
))
LISTENER 的 STATUS
------------------------
别名 B
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 22-10月-2013 22:22:26
正常运行时间 0 天 0 小时 0 分 34 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 C:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
监听程序日志文件 C:\oracle\product\10.2.0\db_1\network\log\listener.log监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST = 192.168.0.30)(PORT = 1523)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "cool" 包含 1 个例程。
例程 "too", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
实验说明:
实验中的status A这一步,是为了查看监听程序A是否已经启动。
这里,status A显示的结果说明监听程序A没有启动。因为如果监听程序A启动了,那么他就可以监听监听点a和b,但是status A显示的结果中,“正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST = 192.168.0.30)(PORT = 1525)))”后提示“无监听程序”,说明监听配置1对应的监听点b未被监听程序监听,而监听程序A如果是已经启动了,那它就会监听监听点b