【RAC】11gR2 新特性:Oracle Cluster Health Monitor(CHM)簡介
Cluster Health Monitor(以下簡稱CHM)是一個Oracle提供的工具,用來自動收集作業系統的資源(CPU、記憶體、SWAP、程式、I/O以及網路等)的使用情況。相對於OSWatcher,CHM直接呼叫OS的API來降低開銷,而OSWatcher則是直接呼叫UNIX命令。另外,CHM的實時性更強,每秒收集一次資料(在11.2.0.3,改為了5秒一次)。 OSWatcher 的優點是可以用traceroute命令檢測私網間的連通性,而且生成的資料的保留時間可以設定得很長。如果可以的話,最好是兩個工具都使用。
這些系統資源資料對於診斷叢集系統的節點重啟、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)。
在11.2.0.2之前的叢集(10.2到11.2.0.1),可以安裝獨立版的CHM。目前支援的平臺有Linux x86 和Linux x86-64,還有32位的Windows Server 2003 SP 2。獨立版的CHM並不一定要安裝在叢集環境,單機環境也可以使用。關於如何安裝獨立版的CHM,請參考另一篇部落格:如何安裝獨立版的CHM(Oracle Cluster Health Monitor)
在叢集中,可以透過下面的命令檢視CHM對應的資源(ora.crf)的狀態:
$ crsctl stat res -t -init
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS Cluster Resources
ora.crf ONLINE ONLINE rac1
CHM主要包括兩個服務:
1). System Monitor Service(osysmond):這個服務在所有節點都會執行,osysmond會將每個節點的資源使用情況傳送給cluster logger service,後者將會把所有節點的資訊都接收並儲存到CHM的資料庫。
$ ps -ef|grep osysmond
root 7984 1 0 Jun05 ? 01:16:14 /u01/app/11.2.0/grid/bin/osysmond.bin
2). Cluster Logger Service(ologgerd):在一個叢集中的,ologgerd 會有一個主機點(master),還有一個備節點(standby)。當ologgerd在當前的節點遇到問題無法啟動後,它會在備用節點啟用。
主節點:
$ ps -ef|grep ologgerd
root 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
備節點:
$ ps -ef|grep ologgerd
root 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
$GRID_HOME/log/<nodename>/crflogd/crflogd.log
$GRID_HOME/log/<nodename>/crfmond/crfmond.log
GI 中的服務ora.crf 是CHM對應的資源,可以使用下面的命令來啟停CHM(不推薦停止該服務):
用root使用者:
$GRID_HOME/bin/crsctl stop res ora.crf -init
$GRID_HOME/bin/crsctl start res ora.crf -init
下面的命令用來檢視它當前設定:
$ oclumon manage -get reppath
CHM Repository Path = /u01/app/11.2.0/grid/crf/db/rac2
Done
$ oclumon manage -get repsize
CHM Repository Size = 68082 <====單位為秒
Done
修改路徑:
$ oclumon manage -repos reploc /shared/oracle/chm
修改大小:
$ oclumon manage -repos resize 68083 <==在3600(小時) 到 259200(3天)之間
rac1 --> retention check successful
New retention is 68083 and will use 1073750609 bytes of disk space
CRS-9115-Cluster Health Monitor repository size change completed on all nodes.
Done
獲得CHM生成的資料的方法有兩種:
1. 一種是使用Grid_home/bin/diagcollection.pl:
1). 首先,確定cluster logger service的主節點:
$ oclumon manage -get master
Master = rac2
2).用root身份在主節點rac2執行下面的命令:
# <Grid_home>/bin/diagcollection.pl -collect -chmos -incidenttime inc_time -incidentduration duration
inc_time是指從什麼時間開始獲得資料,格式為MM/DD/YYYY24HH:MM:SS, duration指的是獲得開始時間後多長時間的資料。
比如:# diagcollection.pl -collect -crshome /u01/app/11.2.0/grid -chmoshome /u01/app/11.2.0/grid -chmos -incidenttime 06/15/201215:30:00 -incidentduration 00:05
3).執行這個命令之後,CHM的資料會生成在檔案chmosData_rac2_20120615_1537.tar.gz。
2. 另外一種獲得CHM生成的資料的方法為oclumon:
$oclumon dumpnodeview [[-allnodes] | [-n node1 node2] [-last "duration"] | [-s "time_stamp" -e "time_stamp"] [-v] [-warning]] [-h]
-s表示開始時間,-e表示結束時間
$ oclumon dumpnodeview -allnodes -v -s "2012-06-15 07:40:00" -e "2012-06-15 07:57:00" > /tmp/chm1.txt
$ oclumon dumpnodeview -n node1 node2 node3 -last "12:00:00" >/tmp/chm1.txt
$ oclumon dumpnodeview -allnodes -last "00:15:00" >/tmp/chm1.txt
下面是/tmp/chm1.txt中的部分內容:
----------------------------------------
Node: rac1 Clock: '06-15-12 07.40.01' SerialNo:168880
----------------------------------------
SYSTEM:
#cpus: 1 cpu: 17.96 cpuq: 5 physmemfree: 32240 physmemtotal: 2065856 mcache: 1064024 swapfree: 3988376 swaptotal: 4192956 ior: 57 io
w: 59 ios: 10 swpin: 0 swpout: 0 pgin: 57 pgout: 59 netr: 65.767 netw: 34.871 procs: 183 rtprocs: 10 #fds: 4902 #sysfdlimit: 6815744
#disks: 4 #nics: 3 nicErrors: 0
TOP CONSUMERS:
topcpu: 'mrtg(32385) 64.70' topprivmem: 'ologgerd(8353) 84068' topshm: 'oracle(8760) 329452' topfd: 'ohasd.bin(6627) 720' topthread:
'crsd.bin(8235) 44'
PROCESSES:
name: 'mrtg' pid: 32385 #procfdlimit: 65536 cpuusage: 64.70 privmem: 1160 shm: 1584 #fd: 5 #threads: 1 priority: 20 nice: 0
name: 'oracle' pid: 32381 #procfdlimit: 65536 cpuusage: 0.29 privmem: 1456 shm: 12444 #fd: 32 #threads: 1 priority: 15 nice: 0
...
name: 'oracle' pid: 8756 #procfdlimit: 65536 cpuusage: 0.0 privmem: 2892 shm: 24356 #fd: 47 #threads: 1 priority: 16 nice: 0
----------------------------------------
Node: rac2 Clock: '06-15-12 07.40.02' SerialNo:168878
----------------------------------------
SYSTEM:
#cpus: 1 cpu: 40.72 cpuq: 8 physmemfree: 34072 physmemtotal: 2065856 mcache: 1005636 swapfree: 3991808 swaptotal: 4192956 ior: 54 io
w: 104 ios: 11 swpin: 0 swpout: 0 pgin: 54 pgout: 104 netr: 77.817 netw: 33.008 procs: 178 rtprocs: 10 #fds: 4948 #sysfdlimit: 68157
44 #disks: 4 #nics: 4 nicErrors: 0
TOP CONSUMERS:
topcpu: 'orarootagent.bi(8490) 1.59' topprivmem: 'ologgerd(8257) 83108' topshm: 'oracle(8873) 324868' topfd: 'ohasd.bin(6744) 720' t
opthread: 'crsd.bin(8362) 47'
PROCESSES:
name: 'oracle' pid: 9040 #procfdlimit: 65536 cpuusage: 0.19 privmem: 6040 shm: 121712 #fd: 33 #threads: 1 priority: 16 nice: 0
...
關於CHM的更多解釋,請參考Oracle官方文件:
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)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29487349/viewspace-2140645/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 11g R2新特徵:oracle cluster health moniter (CHM) 簡介特徵Oracle
- Health Monitor簡介
- 【MOS】Cluster Health Monitor (CHM) FAQ (文件 ID 1328466.1 ID 2062234.1)
- Oracle RAC 11204 CHM(cluster healthy monitor) 檔案無限膨脹.Oracle
- oracle 11GR2新特性 Cluster Time Synchronization Service 配置Oracle
- Oracle 11g Health MonitorOracle
- 【RAC】11gR2 新特性: Rebootless RestartbootREST
- oracle 11GR2 新特性Oracle
- Oracle 11g 新特性簡介Oracle
- oracle 11g health monitor健康監控Oracle
- Health Monitor 健康檢查
- 11g_Health_Monitor
- 12c新特性-Oracle Sharding簡介Oracle
- Oracle:RAC 程式簡介Oracle
- Oracle:19c 新特性——Memoptimized Rowstore 簡介OracleZed
- Oracle 11g 新特性 – HM(Hang Manager)簡介Oracle
- Cluster簡介
- 轉載:Oracle RAC簡介Oracle
- oracle 11gR2 新特性 diskgroup 重新命名Oracle
- Oracle 10G First Release的新特性簡介(下) (轉)Oracle 10g
- Oracle 10G First Release的新特性簡介(上) (轉)Oracle 10g
- 11g New Feature: Health monitor
- Oracle 11gr2 的新特性-延遲段建立Oracle
- Oracle RAC簡介與要點Oracle
- 11GR2新特性(轉)
- LINUX上RAC中CHM命令的簡單示例Linux
- RAC加入新節點 - Add Node to Your Oracle RAC 10g Cluster on LinuxOracleLinux
- ORACLE 11GR2 新特性CACHE表與以前的區別Oracle
- Oracle 11.2.0.3RAC新特性-遷移spfile[Oracle基礎]Oracle
- AIX: Top Things to DO NOW to Stabilize 11gR2 GI/RAC ClusterAI
- ES2015新特性簡介
- 簡短介紹 C# 6 的新特性C#
- Oracle RAC叢集、程式、日誌簡介Oracle
- oracle 11gr2 rac 安裝Oracle
- Oracle 11gR2 ASM磁碟組管理與新特性實踐[1]OracleASM
- oracle 11gR2 新特性 orc和vote盤可以放在ASM中OracleASM
- 管理RAC中的OCR(Oracle Cluster Register)Oracle
- Oracle RAC(Cluster)的重構(整理)(1)Oracle