记录一个堆栈 LMHB 心跳终结 LMD kjr_freeable_chunk_free

1040阅读 0评论2021-11-16 brjl
分类:Oracle

Build label:    RDBMS_19.12.0.0.0DBRU_LINUX.X64_210715

告警日志:
  1. 2021-08-12T05:22:26.845088+08:00
  2. LMD2 (ospid: 12345) has not called a wait for 84 secs.
  3. 2021-08-12T05:22:29.303932+08:00
  4. Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_lmhb_54321.trc (incident=3524453) (PDBNAME=CDB$ROOT):
  5. ORA-29770: global enqueue process LMD2 (OSID 12345) is hung for more than 70 seconds
  6. Incident details in: /u01/app/oracle/diag/rdbms/orcl/orcl1/incident/incdir_3524453/orcl1_lmhb_54321_i3524453.trc
  7. 2021-08-12T05:22:32.123982+08:00
  8. LOCK_DBGRP: GCR_SYSTEST debug event locked group GR+DB_orcl by memno 1
  9. LMHB (ospid: 54321): terminating the instance due to ORA error 29770
  10. Cause - 'ERROR: Some process(s) is not making progress.
  11. LMHB (ospid: 54321) is terminating the instance.

  1. 全局入队服务守护进程 (LMD)
  2. 管理资源请求以控制对块的访问的资源代理进程。LMD 进程还处理死锁检测和远程资源请求。远程资源请求是来自另一个实例的请求。

  3. 全局入队服务监视器 (LMON)
  4. 后台 LMON 进程监控整个集群以管理全局资源。LMON 管理实例死亡和任何失败实例的相关恢复。特别是,LMON 处理与全局资源相关的恢复部分。LMON 提供的服务也称为集群组服务。

  5. 全局缓存服务进程 (LMSn)
  6. 管理远程消息的进程。Oracle RAC 提供多达 10 个全局缓存服务进程。

  7. LMHB
  8. 全局缓存/入队服务心跳监视器,监控多个进程的心跳。LMHB 监视 CKPT、DIAn、LCKn、LGnn、LGWR、LMDn、LMON、LMSn和 RMSn进程,以确保它们正常运行而不会阻塞或旋转。

  9. ksedsts()+426<-ksdxfstk()+58<-ksdxcb()+872<-sspuser()+223<-__sighandler()<-
  10. kjr_freeable_chunk_free()+2885<- Free freeable dynamic resource chunks back to the SGA
  11. kjrchc()+9320<- :cached obj cleanup => ges resource table freelist
  12. kjmdmain_helper()+5786<- RAC_MLMDS,LMD helper main function
  13. kjmdm()+74<- RAC_MLMDS RAC Multiple LMS (kjm)
  14. ksbrdp()+1167<- background_proc :后台进程 ,Run a detached process
  15. opirip()+541<- OPI
  16. opidrv()+581<- OPI :oracle程序接口
  17. sou2o()+165<-opimai_real()+173<-ssthrdmain()+417<-main()+256<-__libc_start_main()+245

  18. ----参考:
  19. http://orasql.org/files/events/oradebug-doc-component.php
  20. http://blog.itpub.net/28218939/viewspace-2652301

  21. LMD0的主循环:kjmdm

  22. lock db锁定:
  23.  - 停止任何死锁检测:kjdddei
  24.  - 锁定并重置:kjfzfcl

  25. lock db解锁:
  26.  - 检测锁转换:kjcvscn
  27.  - 死锁检测:kjddits / kjddscn。
  28.  - 清理恢复域:kjprsem
  29.  - 更新统计信息:kjxstc
  30.  - 发送流控制消息:kjctssb

  31. LMON进程的使用的主要函数如下:
  32.  - LMON的主循环:kjfcln
  33.  - 侦听本地消息:kjcswmg
  34.  - 响应重构事件:kjfcrfg
  35.  - 清除GES缓存:kjrchc


  1. bug 32076305

上一篇:11g 运行状况监控器 Health Monitor 基本介绍
下一篇:oracle 12c failover 故障转移步骤