Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Leicht in einer Nussschale

Wie Sie vielleicht aus einem früheren Beitrag in diesem Blog wissen oder wenn Sie mir auf Twitter (BPeaslandDBA) folgen, mag ich Lighty for Oracle, ein Produkt von Orachrome. Ich liebe dieses Produkt und wie einfach es ist, Informationen zur Leistungsdiagnose zu erhalten. Ich bin mit dem Enterprise Manager von Oracle sehr vertraut und verwende EM12c ständig, wenn ich Anrufe wegen schlechter Datenbankleistung erhalte. Aber ich hoffe jetzt, dass Lighty ein weiteres Werkzeug in meinem Arsenal wird.

Ich gehe nicht davon aus, dass Lighty Enterprise Manager ersetzen wird. EM12c leistet so viel mehr als Lighty, d. h. Überwachung und Alarmierung sowie verschiedene Datenbankverwaltungsaufgaben. Also werde ich EM12c behalten, vielen Dank. Aber ich werde mich mehr auf Lightly verlassen für den einen Teil meiner Arbeit, den Lighty wirklich gut macht, nämlich Informationen bereitzustellen, die bei der Leistungsoptimierung helfen. Lighty ist nur für die Leistungsoptimierung gedacht und da es einen einzigartigen Fokus hat, macht es seine Arbeit sehr gut.

Ich werde versuchen, einige Highlights zu zeigen, warum ich denke, dass Lighty ein großartiges Werkzeug ist. Ich kontrastiere mit EM12c. Für den Anfang gehe ich in EM12c zu Performance –> Performance Home und sehe einen Bildschirm ähnlich dem folgenden.

Ich kann sofort sehen, dass ich CPU-Ressourcenkonflikte habe. Der Hauptbildschirm in Lighty sieht wie folgt aus.

Wir haben also sehr ähnliche Informationen. Und da enden die Unterschiede für mich…gleich am Anfang. In EM12c bin ich gezwungen, eine Entscheidung zu treffen, gehe ich in die CPU-Auslastung oder in eine der Warteklassen wie User I/O? Da das obige CPU-Konflikt zeigt, klicke ich in EM12c auf den CPU-Teil des Diagramms, um einen Drilldown durchzuführen. An diesem Punkt in EM12c berücksichtige ich nur die CPU-Auslastung für meine Analyse. Wie wir später sehen werden, verlangt Lighty nicht, dass ich diese Entscheidung treffe, wenn ich das nicht will. Unten ist mein Diagramm von EM12c.

Das obige Diagramm ist für mich in meiner Oracle RAC-Datenbank sehr häufig. Das obige Diagramm zeigt die CPU-Auslastung für drei Instanzen meiner geclusterten Datenbank. Welches dominiert die CPU-Auslastung? Nun, sie sehen alle ziemlich gleich aus. Doch EM12c zwingt mich, eine Instanz für die Analyse auszuwählen. Ich kann nicht alle 3 Instanzen auf einem Bildschirm untersuchen. Ich arbeite viel mit Oracle RAC Performance Tuning und die Einschränkungen von EM12c stören mich hier. Ich muss eine Warteklasse oder CPU und dann eine Instanz auswählen, bevor ich Informationen zu den Top-SQL-Anweisungen oder Top-Sessions erhalten kann. Wenn ich in EM12c weit genug aufschlüssele, kann ich einen Bildschirm wie den folgenden erhalten.

Endlich bin ich endlich angekommen! Ich kann die Top-SQL-Anweisungen und die Top-Sessions sehen. Beachten Sie den hervorgehobenen Teil. Dies ist ein Detail für ein 5-Minuten-Fenster. Das Fünf-Minuten-Fenster wird durch das schattierte Kästchen im CPU-Auslastungsdiagramm unten für die Instanz dargestellt.

In EM12c kann ich das schattierte Feld auf eine andere Zeit ziehen und die Top-SQL- und Top-Session-Informationen werden entsprechend geändert. Aber ich kann dies nicht auf ein 10-Minuten-Intervall oder einen anderen Zeitraum ändern. Ich hänge bei 5 Minuten fest.

Lassen Sie uns dies nun Lighty gegenüberstellen. Wir haben bereits das Leistungsdiagramm gesehen, genau wie EM12. Unterhalb dieses Leistungsdiagramms in Lighty befindet sich ein Detailbereich für die wichtigsten SQL-Anweisungen. Ich musste auf nichts klicken, um die besten SQL-Anweisungen zu erhalten.

Ich sehe sofort einen Unterschied zwischen Lighty und EM12c. Meine wichtigsten SQL-Anweisungen sind nicht nur auf CPU oder eine bestimmte Warteklasse beschränkt. Wenn ich die Informationen einschränken möchte, kann ich dies aus einem Menüfeld über dem Leistungsdiagramm auswählen.

Ich habe normalerweise Alle ausgewählt, aber ich kann wählen, ob ich nur die CPU sehen möchte, wenn ich möchte. Lighty beschränkt mich nicht wie EM12c, es sei denn, ich entscheide mich, die Informationen zu unterteilen.

Beachten Sie im oberen SQL, dass mir eine Zeitleiste der Ereignisse für dieses SQL angezeigt wird. Beispielsweise können wir sehen, dass die oberste SQL-Anweisung in der Liste viel CPU verwendet. Andere SQL-Anweisungen in der Liste starten und stoppen ihre CPU-Auslastung, die hellgrün angezeigt wird. User I/O wird hier gleichzeitig blau dargestellt. Wenn ich eine SQL-Anweisung erweitere, kann ich eine Aufschlüsselung dieser SQL-Anweisung erhalten.

Durch einfaches Klicken auf das Pluszeichen neben der SQL-Anweisung kann ich sehen, dass diese Anweisung zwei verschiedene Ausführungspläne hat und einer davon 93,92 % der gesamten CPU-Auslastung verbraucht. Wenn ich diesen Plan erweitere, kann ich sehen, wo er seine Zeit verbringt, aufgeschlüsselt nach Warteereignissen.

Fassen wir das also zusammen. Ich habe Lighty gestartet und mir wurden sofort meine wichtigsten SQL-Anweisungen präsentiert, und mit einem einzigen Klick weiß ich, dass die oberste einen CPU-intensiven Ausführungsplan hat. Das geht meiner Meinung nach super schnell und einfach. EM12c macht es schwieriger, an diese Informationen zu gelangen, und EM12c zeigt mir nicht, wann eine SQL-Anweisung anfing, CPU zu verbrauchen, und wann sie aufhörte, wie die Diagramme, die Lighty bereitstellt.

Wenn ich auf eine SQL-Anweisung klicke, ähnlich wie ich es in EM12c tun würde, zeigt Lighty mir Statistiken zu dem spezifischen SQL. Wenn ich auf die Registerkarte Nutzung klicke, sehe ich alle Sitzungen, in denen diese Anweisung ausgeführt wurde. Beachten Sie, dass das Diagramm eine Zeitleiste zeigt, wann diese Sitzung diese Ressource für diese SQL-Anweisung verbraucht hat. EM12c zeigt mir diese Detailebene nicht an.

Mit dem Obigen kann ich leicht erkennen, dass es sich um mehrere Sitzungen handelt, die dieselbe Anweisung zu unterschiedlichen Zeiten ausführen.

Erinnern Sie sich, dass EM12c mich veranlasst hat, eine Instanz für diese Oracle RAC-Datenbank auszuwählen? In Lighty muss ich diese Wahl nicht treffen. Aber ich kann ganz einfach. Lighty ist RAC-fähig und hat mehrere Instanzen erkannt. Standardmäßig habe ich alle Instanzen ausgewählt. Über ein einfaches Pulldown-Menü kann ich eine davon auswählen und die Informationen auf dem Bildschirm passen sich automatisch genau dieser Instanz an.

Erinnern Sie sich an EM12c, wo dieses schattierte Fenster einen Zeitraum von 5 Minuten darstellte. In Lighty gelten die SQL- und Sitzungsdetails für das gesamte Diagramm. Wenn Sie ein 5-Minuten-Fenster wünschen, können Sie die 5-Minuten-Option über dem Diagramm auswählen. Standardmäßig ist ein 60-Minuten-Fenster ausgewählt.

Und ich kann auch andere Optionen auswählen, einschließlich eines benutzerdefinierten Datums-/Zeitbereichs. In EM12c ist das Diagramm für 1 Stunde und ich kann es nicht ändern.

EM12c hat seine ASH Analytics, damit ich mir die Leistung in der Vergangenheit ansehen kann. Aber ich hatte immer Probleme damit. Mit ASH Analytics (mit dem ich den Verlauf der aktiven Sitzungen anzeigen kann) kann ich dieses graue Fenster auf etwas anderes als 5 Minuten ändern. Aber für mich gibt EM12c die Daten einfach nie zurück. Vielleicht habe ich etwas falsch mit meiner EM12c-Umgebung. Lightly arbeitet jedoch standardmäßig mit historischen ASH-Daten. Nehmen wir an, ich habe einen Anruf wegen eines Leistungsproblems erhalten, das heute Morgen zwischen 8:00 und 9:00 Uhr aufgetreten ist. Ich wähle einfach einen benutzerdefinierten Zeitraum aus.

In EM12c bin ich gezwungen, zu einer anderen Webseite zu gehen, Performance –> ASH Analytics.

Bisher haben Sie sich wahrscheinlich auf die Idee verständigt, dass ich denke, dass Lighty eine schnelle und einfache Möglichkeit ist, viele der gleichen Informationen zu erhalten, die ich von EM12c erhalten kann. Und du hättest Recht! Hier ist ein weiterer Bereich, den ich an Lighty mag. Wenn ich zu Fenster -> Überwachung mehrerer Datenbanken gehe, kann ich Diagramme vieler verschiedener Leistungsmetriken für mehrere Datenbanken sehen. Hier ist ein Beispiel. Auf einen Blick kann ich mehrere Datenbanken auf einem Bildschirm überwachen. EM12c lässt mich das nicht tun. Ich kann sehen, dass die Datenbank ganz rechts ziemlich im Leerlauf ist, während die Datenbank in der Mitte ziemlich hart getroffen wird. Wenn ich die Seite nach unten scrolle, erhalte ich Diagramme für viele Metriken:

  • Parsen
  • Benutzeraufrufe
  • Transaktionen
  • Liest und schreibt
  • Plattenlatenz
  • Festplatten-E/A-Durchsatz
  • Globale Cache-Übertragungsraten
  • Redo-Generierungsraten
  • Netzwerkverkehr

In EM12c müsste ich zu viele Seiten besuchen, um die gleichen Informationen zu erhalten, die Lighty mir auf einer Seite gibt.

Alle meine Beispiele basieren auf denselben Diagnose- und Tuningpaketen, die ich lizenziert habe. Wenn Sie diese nicht lizenzieren, bietet Lighty ähnliche Funktionen mit Statspack und deren Version von L-ASH (Lighty ASH).

Alles in allem denke ich, dass Lighty ein großartiges Werkzeug für den DBA ist, der für die Leistungsoptimierung zuständig ist. Die Kosten sind auch sehr vernünftig. Je mehr ich das Tool nutze, desto mehr schätze ich, wie schnell ich an Informationen komme. Ich kann Dinge mit nicht mehr als zwei Klicks ein- oder ausschalten, um die Ursache meiner Leistungsprobleme einfach aufzuschlüsseln. Ich ermutige alle Oracle-DBAs, die Testversion herunterzuladen und zu sehen, ob dieses Produkt das Richtige für sie ist. Lighty ist hier zu finden:http://www.orachrome.com/en/index.html