转自:http://warehouse.itpub.net/post/777/472788

pmon只会动态注册port等于1521的监听,否则pmon不能动态注册listener,要想让pmon动态注册listener,需要设置local_listener参数。

下面是大致测试过程。

1.listener.ora内容如下:

--=======================================

SID_LIST_LISTENER =
(SID_LIST =
( SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(SID_NAME = orcl)
)
(SID_DESC =
(GLOBAL_DBNAME = test)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(SID_NAME = test)
)
) LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xys)(PORT = 1522))
)

--=======================================

因为listener.ora中port是1522而非默认的1521,因此此时pmon不会动态注册监听:

LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:22:50
正常运行时间 0 天 0 小时 0 分 7 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log

监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务摘要..
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
--=============================================
通过命令强制注册:
SQL> alter system register;

系统已更改。
上述命令执行之后再次查看pmon是否动态注册了listener,下面结果显示还是没有动态注册:
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:22:50
正常运行时间 0 天 0 小时 0 分 12 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log

监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务摘要..
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
--============================================

没有注册的原因是pmon default只会注册port=1521的listener。

如果想让pmon动态注册prot以外的监听,此时需要设置参数 local_listener=listener

下面设置参数local_listener:

SQL> alter system set local_listener=listener;
alter system set local_listener=listener
*
第 1 行出现错误:
ORA-02097: 无法修改参数, 因为指定的值无效
ORA-00119: 系统参数 LOCAL_LISTENER 的说明无效
ORA-00132: 语法错误或无法解析的网络名称 'LISTENER'

--提示错误,错误的原因是设置参数local_listener时需要把下面内容增加到服务器端的tnsnames.ora中,因为pmon在动态注册监听时要从tnsnames.ora中读取相关信息:

接下来把下面内容增加到服务器端的tnsnames.ora中
--======================================
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xys)(PORT = 1522))
)
--=====================================
再次尝试修改local_listener参数,修改成功:
SQL> alter system set local_listener=listener;

系统已更改。

SQL>
--=========================================
修改之后过一会查看是否动态注册了监听,发现已经注册了:
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:22:50
正常运行时间 0 天 0 小时 1 分 50 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log

监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务摘要..
服务 "orcl" 包含 2 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl_XPT" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
LSNRCTL>

2.也可以把local_listener设置为address or address list:--因此可以自动注册到多个端口

SQL> alter system set local_listener='(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = xys)(PORT = 1522)))';

系统已更改。

LSNRCTL> stop
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
命令执行成功
LSNRCTL> start
启动tnslsnr: 请稍候...

TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数文件为e:oracleproduct10.2.0db_1networkadminlistener.ora
写入e:oracleproduct10.2.0db_1networkloglistener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:39:07
正常运行时间 0 天 0 小时 0 分 3 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log

监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务摘要..
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:39:07
正常运行时间 0 天 0 小时 0 分 6 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log

监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务摘要..
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功

SQL> alter system register;

系统已更改。

SQL>
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:39:07
正常运行时间 0 天 0 小时 0 分 21 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log

监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务摘要..
服务 "orcl" 包含 2 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl_XPT" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
LSNRCTL>

local_listener参数的作用!的更多相关文章

  1. jQuery ajax的traditional参数的作用///////////////////////////////////zzzzzzzzzzz

    jQuery ajax的traditional参数的作用 i33 发布时间: 2013/04/03 10:05 阅读: 9859 收藏: 9 点赞: 1 评论: 0 一般的,可能有些人在一个参数有多个 ...

  2. 关于context:component-scan配置中use-default-filters参数的作用

    参考了多篇文章都说明了use-default-filters参数的基本用途,但有些主要点没有说到,这里补充记录下: <context:component-scan base-package=&q ...

  3. Dos del参数与作用(/f/s/q)

    Dos del参数与作用(/f/s/q) C:\Documents and Settings>del /? 删除一个或数个文件. DEL [/P] [/F] [/S] [/Q] [/A[[:]a ...

  4. Jquery中Ajax异步请求中的async参数的作用

    之前不知道这个参数的作用,上网找了前辈的博客,在此收录到自己的博客,希望能帮到更多的朋友: test.html <a href="javascript:void(0)" on ...

  5. pytorch autograd backward函数中 retain_graph参数的作用,简单例子分析,以及create_graph参数的作用

    retain_graph参数的作用 官方定义: retain_graph (bool, optional) – If False, the graph used to compute the grad ...

  6. 神经网络中w,b参数的作用(为何需要偏置b的解释)

    http://blog.csdn.net/xwd18280820053/article/details/70681750 可视图讲解神经元w,b参数的作用 在我们接触神经网络过程中,很容易看到就是这样 ...

  7. mysql中,创建表的时候指定if not exists参数的作用?

    需求说明: 在创建表的时候,如果指定if not exists语句,有什么作用,在此做个实验,并且官方手册, 理解下这个参数的作用. 操作过程: 1.创建测试表test01 mysql> cre ...

  8. proxy_redirect参数的作用

    Nginx的代理功能太完善了,我们看看proxy_redirect参数的作用. 案例说明: 要做一个html.aslibra.com的域名处理很多网站的html内容,当然是后端的服务器了,目录分析 h ...

  9. mysql的jdbc.url携带allowMultiQueries=true参数的作用及其原理

    如下配置 jdbc.url=jdbc:mysql://127.0.0.1:3306/chubb_2?autoReconnect=true&useUnicode=true&charact ...

随机推荐

  1. 【链表】Insertion Sort List

    题目: Sort a linked list using insertion sort. 思路: 插入排序是一种O(n^2)复杂度的算法,基本想法相信大家都比较了解,就是每次循环找到一个元素在当前排好 ...

  2. C/C++练习题(一)

    1. volatile 关键字在 C++ 中的性能和 C 的一样? 作用是一样的,但是其内部实现原理可能不同. 2. scanf 格式化输入是怎么赋值的? 由于scanf输入的数据个数是不定的,从键盘 ...

  3. 面试题28:单链表一次遍历删除从后往前的第n个节点

    class Solution { public: ListNode *removeNthFromEnd(ListNode *head, int n) { ListNode* fake = ); fak ...

  4. 面试题27:单链表向右旋转k个节点

    Given a list, rotate the list to the right by kplaces, where k is non-negative. For example:Given1-& ...

  5. JDK 泛型

    JDK1.5 令我们期待很久,可是当他发布的时候却更换版本号为5.0.这说明Java已经有大幅度的变化.本文将讲解JDK5.0支持的新功能-----Java的泛型. 1.Java泛型 其实Java的泛 ...

  6. nginx学习笔记(8)虚拟主机名---转载

    通配符名字正则表达式名字其他类型的名字优化兼容性 虚拟主机名使用server_name指令定义,用于决定由某台虚拟主机来处理请求.具体请参考<nginx如何处理一个请求>.虚拟主机名可以使 ...

  7. ruby大神与菜鸟的代码区别

    之前Brand类   has_and_belongs_to_many :categories, index: true 现在在Category类 增加 has_and_belongs_to_many ...

  8. 【LeetCode题解】231_2的幂(Power-of-Two)

    目录 描述 解法 1:判断整数 \(x\) 的二进制表示中是否只有一位为1 实现方式 1:除以 2 Java 实现(非递归) Python 实现(非递归) Java 实现(递归) Python 实现( ...

  9. MJRefresh源码框架分析

    MJRefresh是一款非常优秀的刷新控件.代码简洁,优雅.今天有时间对源代码阅读了一下.对MJRefresh的宏观设计非常赞叹.所谓大道至简就是这样吧.   MJRefresh所采用的主要设计模式非 ...

  10. 远程桌面控制项目开发(Spring+Netty+Swing)

    [目录] 1.前言 2.初现端倪 3.款款深入 4.责任细分 5.功能层级图 6.项目结构 7.关键类设计 8.一些设计想法 9.待优化 10.一点心得 11.效果演示 12.讨论 13.GitHub ...