当前位置: 首页 > Oracle, Oracle 12c > 正文

Oracle 12C新特性-新增监听器注册进程LREG(Listener Registration)

在12C版本之前,PMON进程负责将数据库注册到监听器,比如动态注册监听器,监听器重启或者监听器 在数据库启动之后启动,通常监听器并不能立即监听到数据库,需要过一会由PMON进程将数据库信息注册到监听器,或者通过ALTER SYSTEM REGISTER命令触发PMON进程去注册数据库到监听器,监听器监听到数据库信息后,客户端才可以通过监听器访问数据库。

在12C版本,注册数据库到监听器这个活分配给了一个全新的进程LREG(Listener Registration),这个进程的主要工作就是维护数据库和监听器的关系,如果监听器关闭,这个进程就会轮循检查监听器,当这个进程发现监听器启动了,就把数据库注册到监听器,和之前版本PMON进程维护数据库和监听器的原来是一样的。

[oracle@hm-oradb-01 ~]$ ps -ef | grep lreg | grep -v grep
oracle   26216     1  0 Aug30 ?        00:00:50 ora_lreg_orcl

LREG进程就好比PMON进程招的小弟,呃,PMON进程工作压力比较大,任务重,有点忙不过来,招个小弟吧,分担一下压力,否则都快没时间泡妹子了,这怎么能行。

于是LREG进程就产生了,专门为PMON进程分担注册数据库到监听器这个任务,这样PMON进程就没那么忙了,有时间出去遛遛弯了,也有时间约妹子啦,劳逸结合才能更好的完成工作。

这也算是对PMON进程的一种保护,毕竟PMON进程是核心进程,一旦PMON进程挂掉,数据库也会挂掉。有点意外的是,LREG也是核心进程,LREG进程挂掉,数据库也会随之挂掉。

下面是杀掉LREG进程的实验。

[oracle@hm-oradb-01 ~]$ ps -ef | grep lreg | grep -v grep
oracle   26216     1  0 Aug30 ?        00:00:50 ora_lreg_orcl
[oracle@hm-oradb-01 ~]$ kill -9 26216
[oracle@hm-oradb-01 ~]$ ps -ef | grep lreg | grep -v grep
[oracle@hm-oradb-01 ~]$ ps -ef | grep ora_
oracle   21478 21060  0 14:27 pts/0    00:00:00 grep ora_

杀掉LREG进程后,数据库立马挂掉,告警日志会记录相关的信息。

2018-09-14T14:27:31.878002+08:00
Instance Critical Process (pid: 28, ospid: 26216, LREG) died unexpectedly
PMON (ospid: 26162): terminating the instance due to error 500
2018-09-14T14:27:33.032767+08:00
System state dump requested by (instance=1, osid=26162 (PMON)), summary=[abnormal instance termination].
System State dumped to trace file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_diag_26182_20180914142733.trc
2018-09-14T14:27:34.267643+08:00
Dumping diagnostic data in directory=[cdmp_20180914142732], requested by (instance=1, osid=26162 (PMON)), summary=[abnormal instance termination].
2018-09-14T14:27:35.632335+08:00
Instance terminated by PMON, pid = 26162

PMON虽然是核心进程,但是杀掉PMON或者PMON进程意外终止,数据库不会立马就挂掉,其他进程还能坚持一小会的时间,而LREG进程意外身故,数据库立马就挂。这可能是PMON进程对LREG这个小弟的一种保护,小弟都挂了,生活还有什么意义,大家同归于尽吧。

呃,这好像超出了小弟的定义了。

本文固定链接: http://www.dbdream.com.cn/2018/09/oracle-12c%e6%96%b0%e7%89%b9%e6%80%a7-%e6%96%b0%e5%a2%9e%e7%9b%91%e5%90%ac%e5%99%a8%e6%b3%a8%e5%86%8c%e8%bf%9b%e7%a8%8blreglistener-registration/ | 信春哥,系统稳,闭眼上线不回滚!

该日志由 dbdream 于2018年09月14日发表在 Oracle, Oracle 12c 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Oracle 12C新特性-新增监听器注册进程LREG(Listener Registration) | 信春哥,系统稳,闭眼上线不回滚!
关键字: , , ,

Oracle 12C新特性-新增监听器注册进程LREG(Listener Registration):等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter