静态注册:通过解析listene.ora文件

动态注册:由PMON进程动态注册至监听中

在没有listener.ora配置文件的情况下,如果启动监听,则监听为动态注册。用图形化netca创建的监听,默认也为动态注册

1.静态注册

listener.ora文件,监听的配置文件,静态注册读取该文件,动态注册,不必要

可以通过netca工具创建,也可以手动编辑。典型的listener.ora文件内容:

LISTENER_PHAMR = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = phamrdb1-vip)(PORT = 1521)) 
  )

SID_LIST_LISTENER_PHALR = 
  (SID_LIST = 
    (SID_DESC = 
      (GLOBAL_DBNAME = phalr) 
      (ORACLE_HOME = /oracle/product/11.2.0) 
      (SID_NAME = phalr) 
    ) 
  )

listener.ora文件两大模块:

LISTENER模块:监听名字、连接协议、监听主机、监听端口等基本配置信息

SID_LIST_LISTENER模块:配置监听的静态注册特性,包含数据库服务名、ORACLE_HOME、实例名等信息。

注意:SID_NAME,就是数据库实例名,在Linux环境大小写敏感

GLOBAL_DBNAME就是数据库服务名,可以省略,默认和SID_NAME保持一致,也可以不一致。

ORACLE_HOME,默认和$ORACLE_HOME环境变量保持一致。Windows,该参数无效,取自注册表。

静态注册,监听不知道实例的具体状态,所以监听启动之初查看实例信息,其状态信息显示为UNKNOWN.例如:

oracle@phamrdb1: /home/oracle> lsnrctl status LISTENER_PHAMR

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 17-NOV-2016 17:17:37

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=phamrdb1-vip)(PORT=1521))) 
STATUS of the LISTENER 
------------------------ 
Alias                     LISTENER_PHAMR 
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production 
Start Date                01-OCT-2016 14:12:51 
Uptime                    47 days 3 hr. 4 min. 45 sec 
Trace Level               off 
Security                  ON: Local OS Authentication 
SNMP                      OFF 
Listener Parameter File   /oracle/product/11.2.0/network/admin/listener.ora 
Listener Log File         /oracle/diag/tnslsnr/phamrdb1/listener_phamr/alert/log.xml 
Listening Endpoints Summary... 
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.178.1.64)(PORT=1521))) 
Services Summary... 
Service "phamr" has 1 instance(s).     监听状态中的服务名 
  Instance "phamr", status UNKNOWN, has 1 handler(s) for this service...  监听状态中的实例名 
The command completed successfully

2,动态注册 
在动态注册监听的环境中,listener.ora文件可以不包括当前数据库的实例信息,所以这个文件不必要。

实例启动时,会由Oracle PMON进程将数据库实例信息动态注册至监听上。

当Oracle实例关闭时,会再次由PMON进程自动从监听里面撤销当前实例信息。

所以,要实现动态注册,数据库的实例至少要处于nomount状态

监听动态注册时的实例状态:来自PMON进程动态注册时的实例状态,一般有3种状态:READY、BLOCKED和RESTRICED

READY:表示数据库实例已经处于mount或者open状态,可以接受客户端连接

BLOCKED:表示数据库实例还处于nomount状态或者该实例类型为ASM实例,不接受客户端连接,如果这时候客户端去连

接数据库会报ora-12528错误

RESTRICED:表示数据库处于RESTRICED模式,不接受普通权限的远程客户端连接,如果这时候客户端去连接数据库会报

ora-12526错误

oracle@fsdata: /oracle/product/11.2.0/network/admin> lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 17-NOV-2016 16:01:43

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) 
STATUS of the LISTENER 
------------------------ 
Alias                     LISTENER 
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production 
Start Date                17-NOV-2016 15:57:23 
Uptime                    0 days 0 hr. 4 min. 19 sec 
Trace Level               off 
Security                  ON: Local OS Authentication 
SNMP                      OFF 
Listener Log File         /oracle/diag/tnslsnr/fsdata/listener/alert/log.xml 
Listening Endpoints Summary... 
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fsdata)(PORT=1521))) 
Services Summary... 
Service "FSDATA" has 1 instance(s). 
  Instance "FSDATA", status READY, has 1 handler(s) for this service... 
Service "FSDATAXDB" has 1 instance(s). 
  Instance "FSDATA", status READY, has 1 handler(s) for this service... 
The command completed successfully

oracle@fsdata: /oracle/product/11.2.0/network/admin> lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 17-NOV-2016 15:58:47

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) 
STATUS of the LISTENER 
------------------------ 
Alias                     LISTENER 
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production 
Start Date                17-NOV-2016 15:57:23 
Uptime                    0 days 0 hr. 1 min. 23 sec 
Trace Level               off 
Security                  ON: Local OS Authentication 
SNMP                      OFF 
Listener Log File         /oracle/diag/tnslsnr/fsdata/listener/alert/log.xml 
Listening Endpoints Summary... 
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fsdata)(PORT=1521))) 
Services Summary... 
Service "FSDATA" has 1 instance(s). 
  Instance "FSDATA", status BLOCKED, has 1 handler(s) for this service... 
The command completed successfully

实例既可以动态注册,同时静态注册,状态分别显示为READY和UNKNOWN

oracle@fsdata: /oracle/product/11.2.0/network/admin> lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 17-NOV-2016 17:50:14

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=fsdata)(PORT=1521))) 
STATUS of the LISTENER 
------------------------ 
Alias                     LISTENER 
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production 
Start Date                17-NOV-2016 15:57:23 
Uptime                    0 days 1 hr. 52 min. 50 sec 
Trace Level               off 
Security                  ON: Local OS Authentication 
SNMP                      OFF 
Listener Parameter File   /oracle/product/11.2.0/network/admin/listener.ora 
Listener Log File         /oracle/diag/tnslsnr/fsdata/listener/alert/log.xml 
Listening Endpoints Summary... 
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fsdata)(PORT=1521))) 
Services Summary... 
Service "FSDATA" has 2 instance(s). 
  Instance "FSDATA", status UNKNOWN, has 1 handler(s) for this service... 
  Instance "FSDATA", status READY, has 1 handler(s) for this service... 
Service "FSDATAXDB" has 1 instance(s). 
  Instance "FSDATA", status READY, has 1 handler(s) for this service... 
The command completed successfully

3.监听的常用命令

lsnrctl start [listener_name]

lsnrctl stop [listener_name]

lsnrctl status [listener_name]

lsnrctl service [listener_name]

lsnrctl reload [listener_name]

4.监听的别名

监听默认名字是LISTENER,可以配置别名

oracle@fsdata: /dump> ps -ef | grep tnslsnr | grep  -v grep 
oracle   29598     1  0 15:57 ?        00:00:00 /oracle/product/11.2.0/bin/tnslsnr LISTENER -inherit

oracle@phamrdb1: /home/oracle> ps -ef | grep tnslsnr| grep -v grep 
oracle   38300     1  0 Oct01 ?        06:21:54 /oracle/product/11.2.0/bin/tnslsnr LISTENER_PHAMR –inherit

转载于:https://www.cnblogs.com/andy6/p/7453395.html

Oracle监听的静态注册和动态注册相关推荐

  1. lsnrctl status区分静态注册与动态注册

    unknow:静态注册 ready或blocked:动态注册 a.如果先启动监听,后启动数据库 Service "PLSExtProc" has 1 instance(s).   ...

  2. oracle监听静态注册,oracle监听器动态注册于静态注册的区别

    1, oracle 10g 用netca方式建立的都默认为动态注册方式 2,如果想改为静态注册的方式则在listener.ora 中加入如下内容即可 SID_LIST_LISTENER = (SID_ ...

  3. Oracle监听注册和sqlnet,Oracle监听的动态注册与静态注册

    Oracle监听 介于Oracle的数据库和客户端之间的通道.因为数据库本身不对外提供服务,所以需要通过监听器来实现. 几个相关的参数: local_listener db_domain remote ...

  4. Oracle监听注册和sqlnet,Oracle监听配置(四)--如何实现静态、动态注册

    Oracle监听配置(四)--如何实现静态.动态注册 第三节我们已经大概了解什么是静态注册和动态注册,下面我们将通过两个例子来更加深入了解它们之间的区别. 静态注册:当listener使用的是非标准端 ...

  5. oracle什么时候使用静态监听,Oracle监听之动态监听与静态监听特点

    动态注册不需要显示的配置listener.ora文件,实例启动的时候,PMON进程根据instance_name,service_name参数将实例和服务动态注册 1.如何查询某服务是静态监听注册还是 ...

  6. Oracle listener静态注册和动态注册(zt)

    曾经遇到一个问题,oracle10g里通过netca命令得到的listener.ora默认就是动态监听,但是默认没有设置instance_name和service_names参数.我一般是先启动db, ...

  7. oracle监听 客户 实例,oracle 数据库实例 监听

    创建Oracle数据库.数据库名与实例名与SID之间的关系(图文详解) 目录 目录 软件环境 前言 安装Oracle监听程序 启动停止监听程序 创建数据库 数据库名db_name 数据库实例名inst ...

  8. oracle监听管理工具,oracle监听器管理

    一.什么是注册? 注册就是将数据库作为一个服务注册到监听程序.客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库.这个服务名可能与实例名一样,也有可能不一样. ...

  9. linux oracle开启监听服务器,linux服务器启动oracle监听端口

    oracle监听 原理 客户端向服务器端发送连接请求,监听器监听到客户端德连接请求 监听器监听到客户端德连接请求后,把客户端德连接请求交给数据库服务器处理 客户端和服务器端建立连接,连接建立后,服务器 ...

最新文章

  1. Windows 7 部署 Android 开发环境傻瓜式教程(Eclipse+ADT)
  2. Qt使用信号与槽时出现的错误“Incompatible sender/receiver arguments”
  3. linux取设备分辨率,linux 获取系统屏幕分辨率
  4. Neo4j:Cypher – Neo.ClientError.Statement.TypeError:不知道如何添加Double和String
  5. FaunaDB and serverless and bmob
  6. (转)编码剖析Spring管理Bean的原理
  7. 烟台市与拼多多达成战略合作 启动烟台优品线上云购节活动
  8. Python46 mysql备份
  9. ML面试1000题系列(91-100)
  10. Android中关于键盘的处理
  11. 陕西网络培训学院自动学习简易脚本
  12. amf webgame
  13. UOJ449. 【集训队作业2018】喂鸽子 [概率期望,min-max容斥,生成函数]
  14. 上班族用哪个邮箱好用,如何正确使用邮件工作?...
  15. 阿里云性能测试工具PTS
  16. 使用jquery.wordexport.js导出word文档 设置行间距不生效问题
  17. turbo linux系统光盘,TurboLinux系统启动软盘的创建方法(转)
  18. html5 自动矢量化,HTML5中地圖矢量化
  19. android html 文件怎么打开,Android可以用Html查看器打开txt文件
  20. [SDOI2008]山贼集团【树上背包+状压】

热门文章

  1. [Vue]组件——通过$emit为组件自定义事件
  2. SVN更新的时候报断言失败解决办法
  3. 前端开发规范文档(html,css,js)
  4. MIP开发常见问题解答
  5. 基于 jQuery支持移动触摸设备的Lightbox插件
  6. 无盘服务器读写缓存,无盘系统中实现网络磁盘本地写缓存控制的方法
  7. laravel 5.1 php版本号,发行版本说明 | 序言 | Laravel 5.1 中文文档
  8. php怎么查自己的文件编码,php检测文件编码的方法示例
  9. java记事本课程设计,java记事本课程设计
  10. 程序人生:提高代码运行效率的9个技巧