• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    Oracle的静态注册和动态注册详解

    发布者: 山止川行 | 发布时间: 2025-6-18 09:27| 查看数: 38| 评论数: 0|帖子模式

    oracle的静态注册和动态注册


    静态注册:

    静态注册 : 指将实例的相关信息手动告知 listener 侦 听 器 , 可以使用netmgr,netca,oem 以及直接 vi listener.ora 文件来实现静态注册,在动态注册不稳定时使用,特点是:稳定,注册过程比动态过程慢静态注册时,listener.ora 中的 GLOBAL_DBNAME 向外提供服务名,listener.ora 中的 SID_NAME 提供注册的实例名。
    采取静态注册方法时,listener.ora 中的内容如下:
    1. # listener.ora Network Configuration File: /oracle/app/oracle/product/19c/db_1/network/admin/listener.ora
    2. # Generated by Oracle configuration tools.


    3. SID_LIST_LISTENER =
    4.   (SID_LIST =
    5.     (SID_DESC =
    6.       (GLOBAL_DBNAME = fgzcdb)
    7.       (ORACLE_HOME = /oracle/app/oracle/product/19c/db_1)
    8.       (SID_NAME = fgzcdb)
    9.     )
    10.   )
    11. LISTENER =
    12.   (DESCRIPTION =
    13.     (ADDRESS = (PROTOCOL = TCP)(HOST = hfzcdb91)(PORT = 1521))
    14.   )
    复制代码


    动态注册: (数据库默认是动态注册)
    1. [oracle@hfzcdb91:/home/oracle]$lsnrctl status     #status READY
    复制代码
    实例在启动时使用 PMON 进程自动将 instance_name 和 service_names 等信息注册到已启动的缺省侦 听器 listener.ora,
    在 9i 之后,不需要任何配置即可实现动态注册.实例启动后会自动在本地主机默认的号端口上查找侦 听器,并在查找到时进行注册 。
    1. [oracle@hfzcdb91:/oracle/app/oracle/product/19c/db_1/network/admin]$vi listener.ora
    复制代码
    1. # listener.ora Network Configuration File: /oracle/app/oracle/product/19c/db_1/network/admin/listener.ora
    2. # Generated by Oracle configuration tools.

    3. LISTENER =
    4.   (DESCRIPTION_LIST =
    5.     (DESCRIPTION =
    6.       (ADDRESS = (PROTOCOL = TCP)(HOST = hfzcdb91)(PORT = 1521))
    7.       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    8.     )
    复制代码
    默认安装时,会安装一个PL/SQL外部程序(ExtProc)条目在listener.ora中, 是oracle为调用外部程序默认配置的监听,它的名字通常是ExtProc或PLSExtProc,但一般不会使用它。可以直接从listener.ora中将这项移除,因为对ExtProc已经有多种攻击手段了,在不使用外部程序时,oracle也是建议删除的。

    既然有动态监听为什么还要静态监听呢?原因如下:
    1.监听器不是最早启动,oracle 实例先启动
    2.监听器重启 【动态监听注册有一定时间】
    3.oracle 实例没有 open


    扩展:

    在 oracle12c 以前的版本中服务注册一直都是由 PMON 进程负责 , 从 12c 起 oracle 引入了 LREG (listener registration) 后台进程接管了这部分工作从而减轻 PMON 的工作

    动态监听与静态监听
    动态监听:LREG((listener registration)后台进程会自动将实例注册到监听上。关键字ready静态监听:手工编写或者使用netmgr程序设置监听。他会一直监听需要注册的实例。
    静态监听:关键字unknown如果你使用动态监听的时候发现始终无法注册实例,可以使用下面的方法:
    1. SQL>alter system set local listener='' scope=both;
    2. System altered.
    3. SQL>alter system register;
    4. System altered.
    复制代码
    到此这篇关于Oracle的静态注册和动态注册详解的文章就介绍到这了,更多相关Oracle静态和动态注册内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    来源:https://www.jb51.net/database/331316kh3.htm
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表