oracle监听的动态注册和静态注册
参考资料:
https://blog.csdn.net/tianlesoftware/article/details/5543166
https://www.cnblogs.com/guilingyang/p/6074867.html
现象1:
1、动态注册
参数文件中指定service_names(多个服务名vmdb,sn01,sn02),8i以后数据库实例启动后,会根据参数文件的service_names以及instance_name动态注册到监听器:
1 SQL> show parameter service_names; 2 3 NAME TYPE VALUE 4 ------------------------------------ ----------- ------------------------------ 5 service_names string vmdb,sn01,sn02 6 SQL> show parameter instance_name; 7 8 NAME TYPE VALUE 9 ------------------------------------ ----------- ------------------------------ 10 instance_name string vmdb
2、静态注册
实例启动时读取文件$ORACLE_HOME/network/admin/listener.ora文件的配置,将实例和服务注册到监听程序。listener.ora文件配置如下:
1 SID_LIST_LISTENER = 2 (SID_LIST = 3 (SID_DESC = 4 (GLOBAL_DBNAME = sn03) 5 (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1) 6 (SID_NAME = vmdb) 7 ) 8 ) 9 10 LISTENER = 11 (DESCRIPTION = 12 (ADDRESS = (PROTOCOL = TCP)(HOST = CentOS)(PORT = 1521)) 13 ) 14 15 ADR_BASE_LISTENER = /u01/app/oracle
3、先启动数据库再启动监听
1 SQL> startup 2 ORACLE instance started. 3 4 Total System Global Area 776646656 bytes 5 Fixed Size 2217384 bytes 6 Variable Size 583010904 bytes 7 Database Buffers 188743680 bytes 8 Redo Buffers 2674688 bytes 9 Database mounted. 10 Database opened.
启动数据库
1 [oracle@CentOS ~]$ lsnrctl start 2 3 LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 28-MAR-2018 13:03:11 4 5 Copyright (c) 1991, 2009, Oracle. All rights reserved. 6 7 TNS-01106: Listener using listener name LISTENER has already been started 8 [oracle@CentOS ~]$ lsnrctl reload 9 10 LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 28-MAR-2018 13:03:19 11 12 Copyright (c) 1991, 2009, Oracle. All rights reserved. 13 14 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=CentOS)(PORT=1521))) 15 The command completed successfully 16 [oracle@CentOS ~]$ lsnrctl status 17 18 LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 28-MAR-2018 13:03:25 19 20 Copyright (c) 1991, 2009, Oracle. All rights reserved. 21 22 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=CentOS)(PORT=1521))) 23 STATUS of the LISTENER 24 ------------------------ 25 Alias LISTENER 26 Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production 27 Start Date 28-MAR-2018 13:03:08 28 Uptime 0 days 0 hr. 0 min. 16 sec 29 Trace Level off 30 Security ON: Local OS Authentication 31 SNMP OFF 32 Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora 33 Listener Log File /u01/app/oracle/diag/tnslsnr/CentOS/listener/alert/log.xml 34 Listening Endpoints Summary... 35 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=CentOS)(PORT=1521))) 36 Services Summary... 37 Service "sn03" has 1 instance(s). 38 Instance "vmdb", status UNKNOWN, has 1 handler(s) for this service... 39 The command completed successfully
启动监听器
发现监听服务只有静态注册的sn03
4、手工注册
1 SQL> alter system register; 2 3 System altered.
再次查看监听,动态注册成功:
1 [oracle@CentOS ~]$ lsnrctl status 2 3 LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 28-MAR-2018 12:41:00 4 5 Copyright (c) 1991, 2009, Oracle. All rights reserved. 6 7 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=CentOS)(PORT=1521))) 8 STATUS of the LISTENER 9 ------------------------ 10 Alias LISTENER 11 Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production 12 Start Date 28-MAR-2018 12:40:45 13 Uptime 0 days 0 hr. 0 min. 15 sec 14 Trace Level off 15 Security ON: Local OS Authentication 16 SNMP OFF 17 Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora 18 Listener Log File /u01/app/oracle/diag/tnslsnr/CentOS/listener/alert/log.xml 19 Listening Endpoints Summary... 20 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=CentOS)(PORT=1521))) 21 Services Summary... 22 Service "sn01" has 1 instance(s). 23 Instance "vmdb", status READY, has 1 handler(s) for this service... 24 Service "sn02" has 1 instance(s). 25 Instance "vmdb", status READY, has 1 handler(s) for this service... 26 Service "sn03" has 1 instance(s). 27 Instance "vmdb", status UNKNOWN, has 1 handler(s) for this service... 28 Service "vmdb" has 1 instance(s). 29 Instance "vmdb", status READY, has 1 handler(s) for this service... 30 Service "vmdbXDB" has 1 instance(s). 31 Instance "vmdb", status READY, has 1 handler(s) for this service... 32 The command completed successfully
查看监听状态
动态注册到非默认端口
如果要向非默认监听注册,则要修改相应系统参数。将要监听的信息添加到tnsnames.ora文件(pmon动态注册监听时从tnsnames.ora文件读取信息)。
对于专用服务器模式:
LOCAL_LISTENER=listener_alias
对于共享服务器模式:
DISPATCHERS="(PROTOCOL=tcp)(LISTENER=listener_alias)"
例如对于专用服务器模式,监听端口1522:
1、修改listener.ora文件监听器的监听端口
LISTENER =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = CentOS)(PORT = 1522)))
2、修改tnsnames.ora,设置pmon动态注册的目标端口
1 listener_alias = 2 (DESCRIPTION = 3 (ADDRESS = (PROTOCOL = TCP)(HOST = CentOS)(PORT = 1522)) 4 )
3、修改参数LOCAL_LISTENER
alter system set local_listener=listener_alias;
alter system register;
4、查看监听状态
1 [oracle@CentOS admin]$ lsnrctl status 2 3 LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 31-MAR-2018 06:55:42 4 5 Copyright (c) 1991, 2009, Oracle. All rights reserved. 6 7 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=CentOS)(PORT=1522))) 8 STATUS of the LISTENER 9 ------------------------ 10 Alias LISTENER 11 Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production 12 Start Date 31-MAR-2018 06:55:14 13 Uptime 0 days 0 hr. 0 min. 28 sec 14 Trace Level off 15 Security ON: Local OS Authentication 16 SNMP OFF 17 Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora 18 Listener Log File /u01/app/oracle/diag/tnslsnr/CentOS/listener/alert/log.xml 19 Listening Endpoints Summary... 20 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=CentOS)(PORT=1522))) 21 Services Summary... 22 Service "sn01" has 1 instance(s). 23 Instance "vmdb", status READY, has 1 handler(s) for this service... 24 Service "sn02" has 1 instance(s). 25 Instance "vmdb", status READY, has 1 handler(s) for this service... 26 Service "sn03" has 1 instance(s). 27 Instance "vmdb", status UNKNOWN, has 1 handler(s) for this service... 28 Service "vmdb" has 1 instance(s). 29 Instance "vmdb", status READY, has 1 handler(s) for this service... 30 Service "vmdbXDB" has 1 instance(s). 31 Instance "vmdb", status READY, has 1 handler(s) for this service... 32 The command completed successfully
View Code
静态注册的意义
//TODO
总结:
与文章开头的引用的外部文章说法有些差异:
1、动态注册只会在PMON进程启动时才会自动将服务注册到监听器(一般在启动一分钟内完成注册),如果此时监听器未启动,则动态注册失败,此时如果再启动监听器,依然不会有动态注册信息。
2、静态注册与实例是否启动无关,启动监听器时会读取listener.ora文件进行静态注册,此时即便数据库未启动,监听状态依然能看到静态注册信息。重启监听器也一样,只会进行静态注册,所以可能导致动态注册信息丢失。
3、动态注册默认只注册到默认的监听器(名称LISTENER,端口1521,协议TCP),否则PMON不能动态注册listener,除非修改参数local_listener。
转载于:https://www.cnblogs.com/ZeroTiny/p/8652111.html
oracle监听的动态注册和静态注册相关推荐
- Oracle监听注册和sqlnet,Oracle监听配置(四)--如何实现静态、动态注册
Oracle监听配置(四)--如何实现静态.动态注册 第三节我们已经大概了解什么是静态注册和动态注册,下面我们将通过两个例子来更加深入了解它们之间的区别. 静态注册:当listener使用的是非标准端 ...
- Oracle监听注册和sqlnet,Oracle监听的动态注册与静态注册
Oracle监听 介于Oracle的数据库和客户端之间的通道.因为数据库本身不对外提供服务,所以需要通过监听器来实现. 几个相关的参数: local_listener db_domain remote ...
- oracle什么时候使用静态监听,Oracle监听之动态监听与静态监听特点
动态注册不需要显示的配置listener.ora文件,实例启动的时候,PMON进程根据instance_name,service_name参数将实例和服务动态注册 1.如何查询某服务是静态监听注册还是 ...
- oracle监听管理工具,oracle监听器管理
一.什么是注册? 注册就是将数据库作为一个服务注册到监听程序.客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库.这个服务名可能与实例名一样,也有可能不一样. ...
- Oracle监听的静态注册和动态注册
静态注册:通过解析listene.ora文件 动态注册:由PMON进程动态注册至监听中 在没有listener.ora配置文件的情况下,如果启动监听,则监听为动态注册.用图形化netca创建的监听,默 ...
- oracle实例注册监听,Oracle 19C 监听无法动态注册实例
Oracle 19C 监听无法动态注册实例 环境: DB:Oracle 19.3.0.0.0 OS:Red Hat Enterprise Linux Server release 7.5 (Maipo ...
- oracle动态注册和静态注册监听器
oracle动态注册和静态注册的区别:动态监听不需要在listener.ora文件中记录关于数据的任何信息,只需要将监听器的配置信息写入到该文件.例如: LISTENER = (DESCRIPTIO ...
- oracle 动态注册和静态注册
动态注册:实例启动后,pmon每分钟自动将服务名注册到侦听器中,也可以手动注册alter system register:系统默认有一个listener:不需要listener.ora文件也可以启动侦 ...
- oracle监听 客户 实例,oracle 数据库实例 监听
创建Oracle数据库.数据库名与实例名与SID之间的关系(图文详解) 目录 目录 软件环境 前言 安装Oracle监听程序 启动停止监听程序 创建数据库 数据库名db_name 数据库实例名inst ...
最新文章
- 学习Cassandra资料的一些整理
- Handlebars partials 隐藏的力量
- jdbc preparestatement 执行多条语句_jmeter获取JDBC响应做接口关联(三)
- 机器学习(三十三)——价值函数的近似表示
- Linux压缩打包命令
- 动态分配数组(new)和用随机数赋值(rand)
- 洛谷P1801 黑匣子 双堆套路的使用
- 纽约时报》:乔布斯和苹果的“保密文化”
- java replace stringbuilder_【基础篇】揭开String、StringBuilder以及StringBuffer的神秘面纱...
- excel设置曲线图横坐标值
- 【142】阿蛮歌霸使用技巧
- 论文写作——小白如何写好并投稿自己的第一篇英文论文?
- 百度云apkg手机文件怎么打开_无需会员 | 手机免费解压百度云压缩文件
- Delphi CxGrid 用法详解
- 完全背包问题 买书(信息学奥赛一本通)
- IE无法查看源文件原因及解决办法
- QT 中控件缩放比列设置
- Modern GMT Series:Slice in 3D View (三维切片图)
- 超时用集群脚本ync.sh、xcall.sh
- 读书笔记《复杂世界的明白人》九边著
热门文章
- 微软在 Windows 10 中提供沙箱 Windows Sandbox
- c# —— 枚举和值的隐藏副作用
- 上下布局_再出上下铺新布局 新全顺都快被途酷玩出花了 还不来看看?
- html中加粗的字体如何改细,css怎么把字体变细?
- mysql json 引号 双引号_关于JSON字符串key缺少双引号的解决方法 的讲解
- 关于打印数组一直输出地址符号的一个解决方法
- go去掉最后一个字符_可维护的Go代码程序指南(一)之变量篇
- oracle 最小权限,oracle低权限下获取shell
- 微信小程序选择框问题 小程序picker点击显示object range-key=这里写要显示的字段
- ajax异步验证效果展示,AJAX(二)-实现验证码异步验证功能(示例代码)