设为首页 收藏本站
查看: 893|回复: 0

[经验分享] Oracle RAC HM(Hang Manager)

[复制链接]

尚未签到

发表于 2018-9-21 10:26:09 | 显示全部楼层 |阅读模式
  在Oracle数据库中,挂起(hang)指某一个进程由于无法获得申请的资源而进入的等待状态,这种等待状态只有在获得申请的资源后才能够解除,HM实现对hang的管理,包括了对于hang的监控,分析,记录和解决。
  hang的情况分为两类:死锁(Dead Lock)和等待链(Wait Chain)
  死锁的发现方式
  步骤1:每个实例的LMD进程定期(默认为10s)申请DI资源,获得DI资源的LMD进程会搜索各个实例没有被满足的锁请求,并绘制锁的等待链路。
  步骤2:如果LMD进程发现存在闭合环路(死锁)的存在,那么就会将导致这个环路的进程的当前DML语句回滚,以解决死锁,并释放资源,如果没有发现死锁,也会释放资源。
  DI资源在整个数据库层面是唯一的,目的是为了确保在整个数据库层面只能有一个LMD进程执行死锁发现过程
  等待链是由阻塞进程和等待进程构成的,而阻塞进程中会存在一个或多个根阻塞进程,这个进程阻塞了所有的其他进程,如果根阻塞进程正在忙于一些操作,那么也许这种等待链的出现是正常的,如果阻塞进程处于空闲状态,那么也许这种等待链的出现就是不正常的,而打破等待链的方法,就是终止根阻塞进程。HM能够主动发现数据库中存在的等待链,并从对个角度对它们分析,如果发现了真正影响数据块性能的hang,会根据具体的情况来决定是否要解决问题,而且即使不能直接解决,也会将相应的诊断信息记录下来并持续监控。
  HM的工作由七个阶段构成
  阶段1(搜集阶段):在这个阶段,每个实例的dia0进程会定期搜集hang analyze信息。
  阶段2(发现阶段):在这个阶段,每个实例的dia0进程会分析搜集到的hang alalyze信息,找到出现hang的会话,并发送给主节点的dia0进程。
  阶段3(绘制阶段):在这个阶段,主节点的dia0进程根据每个实例的dia0进程发送过来的信息,绘制等待链。
  阶段4(分析阶段):在这个阶段,主节点dia0进程根据绘制的等待链,分析是否的确出现了hang。
  阶段5(验证阶段):在这个阶段,主节点dia0进程会再次执行阶段1-4,之后将阶段4的分析结果和这一次的分析结果进行对比,验证是否真的发生了hang。
  阶段6(定位阶段):在这个阶段,主节点dia0进程更加验证阶段的结果定位到等待链的根阻塞进程。
  阶段7(解决阶段):在这个阶段,主节点dia0进程根据参数_hang_resoluton_scope的值判断hang是否能够被解决。
  HM的参数
  _hang_detection_enabled:该参数决定HM特性在数据库中是否被启用,默认值为true。
  _hang_detection_interval:该参数指定HM搜集hang analyze信息的时间间隔,默认值为32s。
  _hang_verification_interval:该参数指定HM验证hang的时间间隔,默认值为46s。
  _hang_resolution_scope:该参数指定HM解决hang时能够操作的范围,默认值为process,允许的值如下:
  off:表示HM只会继续监控hang,而不会做任何操作去解决hang。
  process:表示HM可以通过终止根阻塞进程的方式来解决hang,但是这里的根阻塞进程不能是数据库重要的后台进程,因为这会导致实例crash。
  instance:表示HM可以通过终止实例的方式来解决hang。
  DIA0进程的跟踪日志文件
  主跟踪文件(_DIA0_.trc):这个日志文件会记录dia0进程工作的详细信息,包括发现,分析,处理hang的过程。
  历史跟踪文件(_DIA0__n.trc):由于dia0进程的跟踪日志文件会随着数据库的运行不断产生信息,可能使这个日志文件变得很大,dia0进程会定期将日志信息写到它的历史日志文件中,历史日志文件的n为正整数,会随着时间推移不断增加。
  incident日志文件:如果HM通过终止进程方式来解决hang,会首先在alert.log中记录ORA-32701错误,而由于ADR的存在,dia0进程同时会产生一个incident日志文件记录本次问题的详细信息。
  与hang相关的视图
  V$HANG_INFO:该视图包含了HM发现的hang的详细信息。
  V$HANG_SESSION_INFO:该视图包含了与hang相关的会话信息。
  V$HANG_STATISTICS:该视图包含了与hang相关的统计信息。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-599298-1-1.html 上篇帖子: oracle 数据库备份恢复 下篇帖子: oracle spa-snowhill
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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