===== Oracle Real Application Cluster Resource “ora.crf” – Der Cluster Health Monitor 11g ========== ** 11g Clusterware Seit 11.2.0.2 ** Seit der Version 11g Clusterware 11.2.0.2 ist der Cluster Health Monitor wird per Default der Cluster Health Monitor mit bei einer Installation installiert. Der Cluster Health Monitor besteht aus einen Dämon Prozess, der die Performance Kennzahlen eines Linux Systeme im laufenden Betrieb permanent einsammelt, und eine replizierten Berkeley DB, die die Daten im Default versucht 72h zu speichern. Die CRF Resource kann gestoppt/gestartet werden ohne das Cluster zu beeinflussen. Die Datenbank kann recht viel Platz verbrauchen, ca. ~720MB pro Tag und Knoten, das kann sich schnell auf ~10GB für eine vier Knoten Cluster aufsummieren. Per Default liegt die DB in Grid Verzeichnis, also entsprechend Platz einplanen oder die Berkeley Datenbank auf einen anderen Bereich der Platten verlegen. Im Unterschied zum OSWatcher, der mit Linux Programen die Performance Daten einsammelt kann der Cluster Health Monitor auch noch bei sehr hoher CPU Last Daten einsammeln, da er direkt auf die entsprechenden Wert im Kernel zugreift und entsprechende hoch Prior läuft. Ab der 11.2.0.3 sammelt der CHM alle 5 Sekunden dazu die Daten ein. ====Der Cluster Health Monitor Dämon==== ==Status der Resource „ora.crf“ abfragen == Immer mit dem Schalter "-init" abfragen, ansonsten werden keine Ergebnisse anzeigt: crsctl status resource ora.crf -init NAME=ora.crf TYPE=ora.crf.type TARGET=ONLINE STATE=ONLINE on racdb01 Die Prozesse dahinter: ps uafx | grep osysmond root 5254 0.1 2.8 181924 87176 ? SLl 12:05 0:34 /opt/11.2.0.3/grid/bin/osysmond.bin ps uafx | grep osysmond root 5254 0.1 2.8 181924 87176 ? SLl 12:05 0:34 /opt/11.2.0.3/grid/bin/osysmond.bin * Cluster Logger Service (Ologgerd) – there is a master ologgerd that receives the data from other nodes and saves them in the repository (Berkeley database). It compresses the data before persisting to save the disk space. In an environment with multiple nodes, a replica ologgerd is also started on a node where the master ologgerd is not running. The master ologgerd will sync the data with replica ologgerd by sending the data to the replica ologgerd. The replica ologgerd takes over if the master ologgerd dies. A new replica ologgerd starts when the replica ologgerd dies. There is only one master ologgerd and one replica ologgerd per cluster. * System Monitor Service (Sysmond) – the sysmond process collects the system statistics of the local node and sends the data to the master ologgerd. A sysmond process runs on every node and collects the system statistics including CPU, memory usage, platform info, disk info, nic info, process info, and filesystem info. Master anzeigen lassen: oclumon manage -get master Master = racdb01 ==== Die CRF Datenbank ==== Der Oracle Real Application Cluster Resource “ora.crf” Cluster Health Monitor schreibt seine Daten in die Verzeichnisstruktur "/opt/11.2.0.3/grid/crf/db/racdb01/" und legt dort Berkeley Database Dateien an. === Die Eigenschaften des Cluster Health Monitor abfragen === Die Abfrage auf die aktuellen Einstellungen erfolgt ebenfalls mit dem Werkzeug **oclumon** Über den interactive Schell Modus: oclumon query> help …. Currently supported verbs are : showobjects, dumpnodeview, manage, version, debug, quit, exit, and help ==Version== query> version Cluster Health Monitor (OS), Version 11.2.0.4.0 == Replication == Die Daten werden über die Knoten repliziert: query> manage -get MASTER REPLICA Master = racdb01 Replica = racdb02 == Debug == Ausgeben was gerade eingesammelt wird: oclumon dumpnodeview -v -n racdb01 == Größe und Rentenion Time === Aktuellen Wert abfragen ( in Sekunden): oclumon manage -get repsize CHM Repository Size = 61624 => 17,11h mit der aktuellen DB Größe Mit **"oclumon manage -repos resize "** kann die Rentenion Time und damit auch die Größe der Datenbank eingestellt werden. Pro Tag = 86400s werden ca. 720MB an Daten eingesammelt (259.200s = 86.400s * 3 = 3 Tage ). Größe änderen mit "oclumon manage -repos changesize " ab 11.2.0.3! zum Beispiel auf 100M -> 100000000 : oclumon manage -repos changesize 100000000 === Die Datenbank auswerten === Die Auswertung der Datenbank erfolgt mit dem Werkzeug **oclumon** Auswertung mit **"oclumon"**: Auf Lücken in den Daten prüfen: oclumon showgaps -n racdb01 -s "2015-03-17 15:30:00" -e "2015-03-17 17:00:00" Daten anzeigen: #Genau einen Zeitraum abfragen oclumon showobjects -n racdb01 -time "2015-03-17 17:19:00" #Zeitraum abfragen oclumon dumpnodeview -v -n racdb01 -s "2015-03-17 17:19:00" -e "2015-03-17 17:20:00" „Warnings“ der letzen 2 1/2 Stunden ausgeben: oclumon dumpnodeview -v -allnodes -warning -last "02:30:00" Was für "Objekte" werden gerade überwacht: oclumon showobjects -n racdb01 == Daten für den Oracle Support oder für die Archivierung einsammlen == diagcollection.sh --collect --chmos #erzeugt im aktuellen Verzeichnis eine Zip Datei mit den den CHM Daten als TXT Datei. oder oclumon dumpnodeview -allnodes -v > /tmp/ohm_data_today.log ==== Die Cluster Health Monitor GUI einsetzen ==== Mit einer graphischen Oberfläche kann die Datenbank abgefragt werden. Aber NUR mit einer lokal auf einem Cluster Knoten installierten "Cluster Health Monitor GIU"! Von dieser GUI kann dann aber auch auf die anderen Knoten im Cluster zugegriffen werden. Wird die GUI unter Windows installiert, ist es mir nicht gelungen eine Verbindung aufzubauen, es werden Libraries vom der Cluster Installation von der GUI benötigt. Auch ist eine Windows Installation NUR mit dem im Dokument 811151.1 verlinkten Software möglich, die Software auf der Oracle Website lässt sich auch in einer Cygwin Umgebung unter Windows NICHT installieren! ==Die "Oracle Cluster Health Monitor (CHM/OS) GUI" installieren== Download über : * http://www.oracle.com/technetwork/database/options/clustering/downloads/index.html * dann => http://www.oracle.com/technetwork/database/options/clustering/downloads/ipd-download-homepage-087212.html **als Root User** * Datei 1554902.zip zum Beispiel nach \temp\1554902 auf dem ersten Cluster Knoten entpacken * Das Software Verzeichnis, zum Beispiel "mkdir /usr/lib/oracrf" anlegen * Perl auf der Maschine lokalisieren, zum Beispiel im lokalen Oracle Client oder DB Home und Pfad merken * Wie : /opt/11.2.0.3/grid/perl/bin * In des Installationsverzeichnis \temp\1554902\install wechseln und die Installation aufrufen: export CRFPERLBIN=/opt/11.2.0.3/grid/perl/bin ./chminstall -i /usr/lib/oracrf ORACLE_HOME found. Using Java at /opt/11.2.0.3/grid/jdk Installation completed sucessfully at /usr/lib/oracrf... * Rechte so setzen das auch der Oracle User die GUI aufrufen kann chmod 777 /usr/lib/oracrf/bin/chmosg chmod 777 /usr/lib/oracrf/bin/ == die GUI aufrufen === Zuvor X Forwarding prüfen/einrichten oder auf der lokalen Maschine in einer X Session! export CRFPERLBIN=/opt/11.2.0.3/grid/perl/bin cd /usr/lib/oracrf/bin ./chmosg -m racdb01 Cluster Health Monitor V2.05 Connect to Loggerd via node racdb01 ...waited 0.211s for a reply Node racdb01 up at 2015-03-07 16:23:30.378 ...Connected to Loggerd on racdb01 Der Main Screen startet: {{ :dba:rac:chm_main_screen_v01.png?600 | Cluster Health Manager Main Screen}} Einen Knoten durch den Click auf den Node Namen aufrufen: {{ :dba:rac:chm_node_detail_screen_v01.png?600 | Cluster Health Manager Node Detail Screen}} Detail Screens aufrufen, wie zum Beispiel den Disk Screen: {{ :dba:rac:chm_disk_screen_v01.png?600 | Cluster Health Manager Disk Screen}} == Historische Daten anzeigen lassen == Die letzen 10 Minuten nochmals anzeigen lassen: /usr/lib/oracrf/bin/chmosg -m racdb01 -d 10:00 == Interactiver Mode == /usr/lib/oracrf/bin/chmosg -m racdb01 -d 10:00 -i ... chm> help chm> time Server: 2015-03-07 18:35:46.521 Local: 2015-03-07 18:35:47.358 chm>show alert == Quellen Zur GUI=== siehe auch im Support Portal: * "How to Install Oracle Cluster Health Monitor (former IPD/OS) on Windows (Doc ID 811151.1)" ==== Quellen ==== Web: * http://surachartopun.com/2011/08/what-is-oracrf-in-11202-rac.html * http://www.hhutzler.de/blog/cluster-health-monitor-chmg/ * http://www.hhutzler.de/blog/oclumon/ * https://levipereira.wordpress.com/2011/07/19/monitoring-the-cluster-in-real-time-with-chm-cluster-health-monitor/ Oracle Support * Document 1328466.1 (Cluster Health Monitor (CHM) FAQ) * Managing the Cluster Health Monitor Repository (Doc ID 1921105.1) * How to Install Oracle Cluster Health Monitor (former IPD/OS) on Windows (Doc ID 811151.1)