ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

【DB笔试面试732】在Oracle中,Oracle Cluster Health Monitor(CHM)的作用是什么?

2021-04-15 11:54:52  阅读:222  来源: 互联网

标签:00 Monitor CHM 11.2 Cluster crf Oracle 节点 ora


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

题目部分

在Oracle中,Oracle Cluster Health Monitor(CHM)的作用是什么?

     

答案部分

CHM(Cluster Health Monitor,集群健康监控)是一个Oracle提供的工具,用来自动收集操作系统的资源(CPU、内存、SWAP、进程、I/O以及网络等)的使用情况。CHM会每秒收集一次数据。这些系统资源数据对于诊断集群系统的节点重启、Hang、实例驱逐(Eviction)、性能问题等是非常有帮助的。另外,用户可以使用CHM来及早发现一些系统负载高、内存异常等问题,从而避免产生更严重的问题。CHM也可以用来在系统出现异常时快速收集异常时刻的数据。相对于OSWatcher,CHM直接调用OS的API来降低开销,而OSWatcher则是直接调用UNIX命令;另外,CHM的实时性更强,每秒收集一次数据,从Oracle 11.2.0.3开始改为了每5秒一次。OSWatcher的优点是可以用traceroute命令检测私网间的连通性,而且生成的数据的保留时间可以设置得很长。如果可以的话,最好是两个工具都安装。

在Oracle 11.2.0.3之后,AIX和Linux平台在安装Grid时默认安装CHM。常用的命令如下所示:

1crsctl stat res ora.crf -init -p #查看ora.crf状态
2oclumon manage -get master #查看CHM当前主节点
3oclumon manage -get reppath #查看CHM数据保存路径
4oclumon manage -repos reploc /shared/oracle/chm #修改CHM数据保存路径
5oclumon manage -get repsize #查看CHM数据保留时间(s)
6oclumon manage -repos resize 68083 #修改CHM数据保留时间(s)

在集群中,可以通过下面的命令查看CHM对应的资源(ora.crf)的状态:

1[root@rac2 ~]# crsctl stat res -t -init |grep -1 ora.crf 
2ora.crf
3      1        ONLINE  ONLINE       rac2

CHM主要包括两个服务:

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

1[root@rac2 ~]# ps -ef|grep osysmond
2root     29498     1  1 15:18 ?        00:01:31 /u01/app/11.2.0/grid/bin/osysmond.bin

2、Cluster Logger Service(ologgerd):在一个集群中,ologgerd会有一个主节点(Master),还有一个备节点(Standby)。当ologgerd在当前的节点遇到问题而无法启动后,它会在备用节点启用。该服务会将osysmond收集的数据保存到CHM资料库中($GRID_HOME/crf/db)。

主节点:

1$ ps -ef|grep ologgerd
2root 8257  1  0 Jun05 ?  00:38:26 /u01/app/11.2.0/grid/bin/ologgerd -M -d  /u01/app/11.2.0/grid/crf/db/rac2

备节点:

1$ ps -ef|grep ologgerd
2root  8353  1  0 Jun05 ?  00:18:47 /u01/app/11.2.0/grid/bin/ologgerd -m rac2 -r -d    /u01/app/11.2.0/grid/crf/db/rac1

-M或-m后的节点表示主节点,以上结果表示节点2为主节点。

获得CHM生成的数据的方法有两种:

1、一种是使用Grid_home/bin/diagcollection.pl:

1/u01/app/11.2.0/grid/bin/diagcollection.pl --collect --all --incidenttime 12/30/201515:13:00 --incidentduration 00:30

其中,“--incidenttime”表示采集数据开始时间,格式为MM/DD/YYYY24HH:MM:SS;“--incidentduration”表示持续时间,格式为HH:MM。生成的文件在当前目录。

2、另外一种获得CHM生成的数据的方法为oclumon:

1$oclumon dumpnodeview [[-allnodes] | [-n node1 node2] [-last "duration"] | [-s "time_stamp" -e "time_stamp"] [-v] [-warning]] [-h]

其中,-s表示开始时间,-e表示结束时间,例如:

1$ oclumon dumpnodeview -allnodes -v -s "2012-06-15 07:40:00" -e "2012-06-15 07:57:00" > /tmp/chm1.txt

使用root用户执行以下命令可以禁用CHM服务:

1crsctl stop res ora.crf -init
2crsctl modify res ora.crf -attr "AUTO_START=never" -init
3crsctl modify res ora.crf -attr "ENABLED=0" -init

使用以下命令可以查看ora.crf相关的属性:

1crsctl stat res ora.crf -init -p


标签:00,Monitor,CHM,11.2,Cluster,crf,Oracle,节点,ora
来源: https://blog.51cto.com/lhrbest/2707934

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有