转 Oracle Cluster Health Monitor(CHM)简介

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

posted @ 2017-11-17 09:58  feiyun8616  阅读(866)  评论(0编辑  收藏  举报