Cluster Health Monitor(以下简称CHM)是一个Oracle提供的工具,用来自动收集操作系统的资源(CPU、内存、SWAP、进程、I/O以及网络等)的使用情况。CHM会每秒收集一次数据。这些系统资源数据对于诊断集群系统的节点重启、Hang、实例驱逐(Eviction)、性能问题等是非常有帮助的。另外,用户可以使用CHM来及早发现一些系统负载高、内存异常等问题,从而避免产生更严重的问题。

CHM默认安装在以下版本

11.2.0.2 及更高版本的 Oracle Grid Infrastructure for Linux (不包括Linux Itanium) 、Solaris (Sparc 64 和 x86-64)
   11.2.0.3 及更高版本 Oracle Grid Infrastructure for AIX 、 Windows (不包括Windows Itanium)。

CHM服务介绍(以下进程都可以使用ps -ef|grep 命令来查看):

1、System Monitor Service(osysmond):这个服务在所有节点都会运行,osysmond会将每个节点的资源使用情况发送给cluster logger service,后者将会把所有节点的信             息都接收并保存到CHM的资料库。

2、Cluster Logger Service(ologgerd):在一个集群中的,ologgerd 会有一个主机点(master),还有一个备节点(standby)。当ologgerd在当前的节点遇到问题无法启动后,它会在备用节点启用。

我们可以使用命令来查看CHM运行状态

  1. crsctl stat res -t -init

ora.crf is the Cluster Health Monitor resource name that ohasd manages.

Issue “crsctl stat res –t –init” to check the current status of the Cluster Health Monitor.

-------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------

ora.asm
     1        ONLINE  ONLINE       bt1ssse5d1z3             Started             
ora.crf
     1        ONLINE  OFFLINE

 CHM Repository:用于存放收集到数据,在默认情况下,会存在于Grid Infrastructure home 下 ,需要1 GB 的磁盘空间,每个节点大约每天会占用0.5GB的空间。 您可以使用OCLUMON来调整它的存放路径以及允许的空间大小(最多只能保存3天的数据。

简单命令操作

1、查看当前目录设置

  1.  oclumon manage -get reppath

2、查看当前收集大小(注意单位为秒)

  1. oclumon manage -get repsize

3、修改路径

  1. oclumon manage -repo reploc  /soft/chm/

4、修改大小

  1.  oclumon manage -repos resize 60000
 

获取CHM数据的方法

1、使用Grid_home/bin/diagcollection.pl

  • 首先,确定cluster logger service的主节点
    1. oclumon manage -get master
  • 用root身份在主节点执行下面的命令
<Grid_home>/bin/diagcollection.pl -collect -chmos -incidenttime inc_time -incidentduration duration
 incidenttime是指从什么时间开始获得数据,格式为MM/DD/YYYY24HH:MM:SS, incidentduration指的是获得开始时间后多长时间的数据。
  例如:
diagcollection.pl -collect -crshome /u01/app/11.2.0/grid -chmoshome  /u01/app/11.2.0/grid -chmos -incidenttime 06/15/201412:30:00 -incidentduration 00:05
   运行这个命令之后,CHM的数据会生成在文件chmosData_rac2_20140615_1237.tar.gz。

2、使用oclumon来获得CHM数据

  1. oclumon dumpnodeview [[-allnodes] | [-n node1 node2] [-last "duration"] | [-s "time_stamp" -e "time_stamp"] [-v] [-warning]] [-h]
  2. #(-s表示开始时间,-e表示结束时间)

例如:

  1. oclumon dumpnodeview -allnodes -v -s "2012-06-15 07:40:00" -e "2012-06-15 07:57:00" > /tmp/chm1.txt
  2. oclumon dumpnodeview -n node1 node2 -last "12:00:00" >/tmp/chm1.txt
  3. oclumon dumpnodeview -allnodes -last "00:15:00" >/tmp/chm1.txt
 

关闭以及开启CHM(使用grid在每个节点执行)

这个关闭类似Linux的service stop,重启后还会自动打开,关闭后系统IO会有所下降

  1. #关闭
  2. crsctl stop res ora.crf -init
  3. #启动
  4. crsctl start res ora.crf -init
 
禁用与启用CHM(类似chkconfig)
使用root用户
  1. #禁用
  2. crsctl modify resource ora.crf -attr "AUTO_START=never" -init
  3. #启用
  4. crsctl modify resource ora.crf -attr "AUTO_START=always" -init

参考Oracle官方文档
  http://docs.Oracle.com/cd/E11882_01/rac.112/e16794/troubleshoot.htm#CWADD92242
  Oracle® Clusterware Administration and Deployment Guide
  11g Release 2 (11.2)
  Part Number E16794-17

My Oracle Support文档
  Cluster Health Monitor (CHM) FAQ (Doc ID 1328466.1)

CHM及UI下载地址
http://www.oracle.com/technetwork/database/clustering/downloads/ipd-download-homepage-087212.html

http://blog.csdn.net/mhmds/article/details/72843249

 附录:

crsctl stop res -all 
crsctl start res -all 
crsctl status res -t

crsctl status res -t -init

最新文章

  1. POJ 1321 棋盘问题(dfs)
  2. 【NopCommerce源码架构学习-二】单例模式实现代码分析
  3. CentOS 7 yum安装Zabbix
  4. display:-webkit-box
  5. Qt通过UDP传图片,实现自定义分包和组包
  6. delphi 判断调试状态
  7. Castle IOC容器构建配置详解(一)
  8. Sqlyog增加试用期
  9. 关于php数组是否要声明
  10. JSP/Servlet Web 学习笔记 DayTwo
  11. 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(四)用户接口层之处理SDP报文
  12. [POI 2006]OKR-Periods of Words
  13. opencv7-ml之KNN
  14. Asp.net core使用IIS在windows上进行托管
  15. yii源码一 -- CComponent
  16. C#中的Partial
  17. spark开启远程调试
  18. 微信access_token和refresh_token保存于redis
  19. Quartz.Net_表达式参考说明
  20. asp 程序 转 php

热门文章

  1. ansible-playbook 打通ssh无秘钥
  2. ffplay 一些好玩的filter
  3. 用php描述二分查找法
  4. JavaWeb学习总结(三)response与request
  5. Python模块:os
  6. JNI之JAVA调用C++接口
  7. MTK HDMI 流程
  8. rsync(六)命令中文手册
  9. 为什么stc15的单片机,运行了几秒后就蹦了
  10. 【旧文章搬运】Win7可变对象头结构之InfoMask解析