OraTop - RealTime Monitoring von Oracle Datenbanken
von Sebastian Solbach ORACLE Deutschland B.V. & Co.KG
Etwas versteckt hat sich mit dem Oracle Trace File Analyzer (kurz TFA), der in einem der letzten Community Tipps
näher beleuchtet wurde, noch ein weiteres nützliches Werkzeug zum Monitoring von Datenbanken mit installiert: OraTop.
Dabei handelt es sich um ein kleines Werkzeug, das wie der Befehl "top" bei Unix/Linux Betriebssystemen funktioniert.
"top" liefert dabei für Betriebssysteme eine Liste aller aktuellen Prozesse und listet diese, ähnlich wie der Windows Task Manager, sortiert nach CPU Auslastung, Speicherverbrauch oder I/O Anforderungen.
Genau gleich funktioniert "oratop", aber eben für eine 11.2 oder 12.1 Datenbank.
Installation von OraTop
Wie schon erwähnt wird das OraTop Utility mit dem aktuellen TFA (Version 12.1.2) ausgeliefert.
Neben dem veröffentlichten Community Tipp zum TFA findet man auch in der My Oracle Support Note
"TFA Collector - Tool for Enhanced Diagnostic Gathering" (Doc ID 1513912.1)
Informationen zum TFA und bei genauerem Studium des darin enthaltenen Handbuchs auch kurze Informationen zu OraTop.
Verwendung von OraTop
Der Aufruf von OraTop mit TFA sieht etwas anders aus als der Aufruf des Standalone Programms.
Während OraTop in der Standalone Version einfach direkt mit "oratop" aufgerufen wird, sieht der Aufruf mit TFA wie folgt aus:
# tfactl analyze -comp oratop -database orcl sys/oracle@orcl as sysdbaDie verfügbaren Optionen sind allerdings gleich: # tfactl analyze -h .... Oratop Options: Below options are available when using -comp oratop -databaseAuch wenn man in der TFA Variante einen "DBName" angeben muss, so wird doch der hinten angegebene "Logon" String verwendet, um sich mit der Datenbank zu verbinden, für welche OraTop die aktuelle Systembelastung anzeigen soll. Der DB Name dient hier lediglich als Umgebung für das oratop Programm. OraTop der Bildschirm
Oratop präsentiert sich nach dem Starten mit den wichtigsten Informationen:
Section 2 - instance Top 5 Instance(s) Activity o Ordered by Database time desc ID [c,N]: inst_id (instance id) %CPU [m,N]: host cpu busy %(busy/busy+idle). (red if > 90%) LOAD [m,N]: current os load. (red if > 2*#cpu & high cpu) %DCU [c,m,N]: db Service cpu as %host cpu. (red if > 99% & high AAS) AAS [s,N]: Average Active Sessions. (red if > #cpu) ASC [c,N]: active Sessions on CPU ASI [c,N]: active Sessions waiting on user I/O ASW [c,N]: active Sessions Waiting, non-ASI (red if > ASC+ASI) AST [c,N]: Active user Sessions Total (ASC+ASI+ASW) IOPS [m,N]: i/o requests per second %FR [s,N]: shared pool free % PGA [s,N]: total pga allocated UTPS [s,N]: user transactions per sec UCPS [c,m,N]: user calls per sec SSRT [c,m,T]: sql service response time (T/call) %DBT [c,m,N]: Service %Database Time (e.g. non-rac shows 100%) Oratop die wichtigsten Tastenkürzel
Wie man auch der Hilfe entnehmen kann, lässt sich die Anzeige sehr schnell umschalten.
Die wichtigsten Funktionen seien hier kurz erwähnt:
Wie oben schon erwähnt, ist die Anzeige in Putty nicht ganz optimal. Das merkt man leider auch bei der Veränderung des Anzeigeintervalls ("i") und bei der Anzeige des SQL Plans ("x"). Dass der SQL Plan oberhalb (nach oben scrollen im Putty Fenster) sichtbar wird, ist besonders gewöhnungsbedürftig. Hier gibt es bestimmt Verbesserungspotential - es sei denn, es liegt an der Einstellung meines Putty Fensters. Allerdings wurde auch im Linux Terminal Fenster dies nicht optimal dargestellt. Selbstverständlich kann oratop auch bereits mit der neuen 12c Architektur und Multitenant umgehen. Dafür gibt es den speziellen "Service" Mode, den man beim Aufruf von oratop mit -c aktiviert. Hierdurch werden bestimmte Werte speziell für die PDB ausgewiesen, wie zum Beispiel der Anteil der PDB an der Host CPU, die Benutzercalls pro Sekunde oder die SQL Service Antwortzeit, die ansonsten nur für die komplette CDB ausgewiesen würden. Im Detail findet man die Funktionen (mit Screenshots) auch in der Anleitung zu Oratop beschrieben, die es in der My Orace Support Note "oratop - Utility for Near Real-time Monitoring of Databases, RAC and Single Instance" (Doc ID 1500864.1) zum Herunterladen gibt. Ebenfalls findet man Informationen auf welche Datenbank Views für die angezeigten Informationen zurückgegriffen wird, so dass auch ein "oratop" Benutzer in der Datenbank eingerichtet werden kann, der keine SYSDBA Rechte benötigt. Fazit
Auch wenn oratop mit einigen kleinen Anzeigefehlern zu kämpfen hat, ist es ein optimales Tool um sich schnell Informationen über die Datenbank zu verschaffen.
Mögliche Performance Engpässe, SQL Ausführungspläne werden sofort sichtbar und das schnell mit ein paar wenigen Eingaben in Echtzeit.
Nützliche Links und Referenzen
|