Cluster Resource Activity Log

03.
Oktober
2017
Veröffentlicht von: Stefan Hartsberger

Seit Oracle Grid Infrastructure 12.1.0.2 ist die Installation der GIMR-Datenbank zwingend erforderlich. GIMR steht für Grid Infrastructure Management Repository. Doch was verbirgt sich genau dahinter und welchen Nutzen können Sie als DBA daraus ziehen?

Seit Oracle Grid Infrastructure 12.1.0.2 ist die Installation der GIMR-Datenbank zwingend erforderlich. GIMR steht für Grid Infrastructure Management Repository. Doch was verbirgt sich genau dahinter und welchen Nutzen können Sie als DBA daraus ziehen?In diesem Tipp stellen wir Ihnen das GIMR Feature "Cluster Resource Activity Log" (kurz: calog) vor, welches seit Version 12.2 verwendet werden kann.Im calog werden alle Cluster-Ereignisse gespeichert, die mit einem Fehler einer Cluster-Resource im Zusammenhang stehen. Das kann das Umschwenken einer Instanz auf einen anderen Knoten sein, ein Problem im Netzwerk, oder ein Problem auf dem Server. All das wird hier aufgezeichnet.Um den calog anzusehen, wird das Tool "crsctl" verwendet.Syntax:

crsctl query calog [-aftertime <after_timestamp>]
                   [-beforetime <before_timestamp>]
                   [-duration <time_interval> | -follow]
                   [-filter <filter_expression>]
                   [-fullfmt | -xmlfmt]

Optionen:
after_timestamp    Uhrzeit im Format
                   "YYYY-MM-DD HH24:MI:SS[.FF][TZH:TZM]" ODER
                   "YYYY-MM-DD" ODER
                   "HH24:MI:SS[.FF][TZH:TZM]"
before_timestamp   Uhrzeit im Format
                   "YYYY-MM-DD HH24:MI:SS[.FF][TZH:TZM]" ODER
                   "YYYY-MM-DD" ODER
                   "HH24:MI:SS[.FF][TZH:TZM]"
time_interval      Zeitintervall im Format "DD HH:MM:SS"
filter_expression  Lesen Sie die Dokumentation zu dem Produkt.
-follow            Liefert kontinuierliche Ausgabe
-fullfmt           Detailausgabeformat
-xmlfmt            XML-Ausgabeformat

So können wir uns anfangs einen Überblick über die Ereignisse des RACs machen indem wir folgenden Befehl absetzen:

crsctl query calog -duration "14 00:00:00"

Wir erhalten dadurch alle Ereignisse der letzten 14 Tage:

2017-09-09 13:07:55.436000 :
Nicht geplante Statusänderung der Ressource "ora.testdb.db"
von Status "ONLINE" in "OFFLINE" erkannt :
15034749439874110/446253/1 :

2017-09-09 13:07:55.678000 :
Versuch, "ora.testdb.db" auf "s-tl-071" zu bereinigen :
15034749439874110/446253/2 :

2017-09-09 13:07:59.943000 :
Bereinigen von "ora.testdb.db" auf "s-tl-071" erfolgreich :
15034749439874110/446253/3 :

2017-09-09 13:07:59.977000 :
Versuch, "ora.testdb.db" auf "s-tl-071" zu starten :
15034749439874110/446253/4 :

2017-09-09 13:08:01.633000 :
Ressource "ora.testdb.db" wurde geändert. :
15034749439874110/446253/5 :

2017-09-09 13:08:56.164000 :
Starten von "ora.testdb.db" auf "s-tl-071" erfolgreich :
15034749439874110/446253/6 :

2017-09-09 13:08:56.600000 :
Ressource "ora.testdb.db" wurde geändert. :
15034749439874110/446310/1 :

2017-09-09 13:08:56.842000 :
Ressource "ora.testdb.db" wurde geändert. :
15034749439874110/446348/1 :

2017-09-09 13:08:59.131000 :
Ressource "ora.testdb.db" wurde geändert. :
15034749439874110/446367/1 :

Auch das Abfragen bestimmter Zeiträume könnte interessant sein, z. B. nachdem der DBA aus seinem zweiwöchigen Urlaub zurückkommt und wissen möchte was aus Clusterware-Sicht alles passiert ist.

crsctl query calog -aftertime "2017-08-07" -beforetime "2017-08-21"

Wir erhalten alle Ereignisse zwischen 07.08. - 21.08.2017:

[...]
2017-08-20 23:15:15.231000 :
Nicht geplante Statusänderung der Ressource "ora.testdb.db"
von Status "ONLINE" in "INTERMEDIATE" erkannt :
150289066119817912/94455/1 :

2017-08-20 23:28:21.222000 :
Nicht geplante Statusänderung der Ressource "ora.testdb.db"
von Status "ONLINE" in "INTERMEDIATE" erkannt :
150289066119817912/94702/1 :

2017-08-20 23:28:50.160000 :
Nicht geplante Statusänderung der Ressource "ora.testdb.db"
von Status "INTERMEDIATE" in "ONLINE" erkannt :
150289066119817912/94706/1 :

2017-08-20 23:29:20.577000 :
Nicht geplante Statusänderung der Ressource "ora.testdb.db"
von Status "INTERMEDIATE" in "ONLINE" erkannt :
150289066119817912/94719/1 :

Möchte man das Ergebnis einschränken, kann man dazu den Filter-Parameter verwenden. Zum Beispiel können wir uns anzeigen lassen, welche Ereignisse in diesen zwei Wochen ungeplant waren. Denn alle Ereignisse, die aufgrund eines Befehls (z. B. crsctl stop crs) erzeugt werden, haben den Status "is_planned==1".

crsctl query calog -aftertime "2017-08-07" -beforetime "2017-08-21" -filter "is_planned==0"

Das Ergebniss könnte so aussehen:

2017-08-08 15:13:21.500000 :
Nicht geplante Statusänderung der Ressource "ora.RECO.dg"
von Status "ONLINE" in "OFFLINE" erkannt :
15021971903454205/1488/1 :

2017-08-08 15:13:21.504000 :
Versuch, "ora.RECO.dg" auf "s-tl-071" zu starten :
15021971903454205/1488/2 :

2017-08-08 15:13:21.601000 :
Starten von "ora.RECO.dg" auf "s-tl-071" erfolgreich :
15021971903454205/1488/3 :

2017-08-08 15:13:21.953000 :
Nicht geplante Statusänderung der Ressource "ora.testdb2.db"
von Status "UNKNOWN" in "UNKNOWN" erkannt :
15021971903454205/1494/1 :

2017-08-08 15:14:15.257000 :
Versuch, "ora.testdb2.db" auf "s-tl-071" zu bereinigen :
15021971903454205/1488/4 :

2017-08-08 15:14:16.641000 :
Bereinigen von "ora.testdb2.db" auf "s-tl-071" erfolgreich :
15021971903454205/1488/5 :

Um den Filter noch effektiver einzusetzen muss man die abzufragenden Werte kennen. Eine Übersicht mit Erklärungen finden Sie in der Opens external link in new windowOracle-Doku. Außerdem möchte ich noch auf die Option "-follow" hinweisen. Damit lässt sich ein Stream öffnen in dem alle zukünftigen Ereignisse live angezeigt werden (vergleichbar mit einem tail -f ).Es ist ratsam dabei noch eine "-aftertime" anzugeben, sonst werden auch alle alten Ereignisse mit ausgegeben.

crsctl query calog -aftertime "2017-09-14" -follow

Neben dem "Cluster Resource Activity Log" Feature bietet die GIMR Datenbank noch weitere Tools, die uns DBAs helfen können. Unter anderem sind das:

  • Cluster Health Monitor
  • Cluster Health Advisor

Diese werden vielleicht in einem zukünftigen Monatstipp behandelt.

Mehr Informationen zu diesem Thema finden Sie in der Oracle Dokumentation unter: Opens external link in new windowhttp://docs.oracle.com/database/122/CWADD/troubleshooting-oracle-clusterware.htm#CWADD

Jede Menge Know-how für Sie!

In unserer Know-How Datenbank finden Sie mehr als 300 ausführliche Beiträge zu den Oracle-Themen wie DBA, SQL, PL/SQL, APEX und vielem mehr.
Hier erhalten Sie Antworten auf Ihre Fragen.