2009-03-10 14 views
2

Ich habe vor kurzem ein neues Entwicklungsprojekt in .net mit einem Oracle DB gestartet. Ich habe Orakel vorher noch nie benutzt und ich habe mich gefragt, ob es auch ein sqlprofiler ähnliches Werkzeug für Orakel gibt.Sqlprofiler für Orakel

Antwort

1

Die beste Möglichkeit, Ihre Anwendung in Oracle zu profilieren, ist sql tracing. Die SQL-Trace gibt Ihnen, welche Anweisungen Ihre Anwendung ausgeführt hat, die verstrichene Zeit für diese, für die sie gewartet haben und wie lange die Wartezeiten waren. Der Link, den ich zur Verfügung gestellt habe, ist ein guter Anfang, um über die SQL-Ablaufverfolgung zu lesen.

3

Oracle bietet SQLDeveloper, die EXPLAIN Werkzeuge und AUTOTRACE Tools enthält, usw.

P. S. TOAD ist nett, wenn Sie es sich leisten können (zumindest war es das letzte Mal, dass ich es mir leisten konnte).

1

Im Zusammenhang mit Profiling, ein bisschen allgemeiner, wie umfasst allgemeine Leistungsoptimierung - Automatic Performance Statistics. Selbst wenn Sie es nicht verwenden möchten, erhalten Sie eine Vorstellung von den wichtigen Systemperformance-bezogenen Sichten und Ereignissen.

0

Zusätzlich zum erweiterten SQL-Trace und TKPROF können Sie PL/SQL-Code mit dem von Oracle bereitgestellten Paket DBMS_PROFILER profilieren.

1

Die Herausforderung bei den meisten nativen Trace-Funktionen besteht in der Leistungslast, die sie verursachen. Daher sind sie für die 24x7-Abfrageüberwachung von geschäftskritischen Massenproduktionssystemen nicht erforderlich.

Es gibt Drittanbieter-Tools auf dem Markt, die auch Profil-/Trace-Funktionalität bieten. Einige dieser Tools verursachen auch eine Leistungsbelastung für das System und machen daher oft nur periodische Snapshots über das Abfragen der dbms; Andere Tools überwachen die Datenbankabfragen nicht-intrusiv (verursachen also eine Null-/Minimalbelastung des Systems) und können auf einer "immer ein" -Basis verwendet werden.

Sie müssen feststellen, ob die zusätzliche Leistungslast akzeptabel ist. Wenn ja, dann gehen Sie mit der nativen Fähigkeit oder den billigeren Third-Party-Tools. Wenn Sie mit einem geschäftskritischen Produktionssystem mit hoher Transaktion arbeiten, sollten Sie sich die nicht aufdringlichen Tools ansehen.

Volle Offenlegung: Ich arbeite für einen der Anbieter, die solche Tools zur Verfügung stellen. Anbieter verwenden verschiedene Mechanismen, um sicherzustellen, dass ihre Leistungsüberwachung nicht aufdringlich ist. Ours öffnet keine Verbindung zur Datenbank und fragt sie auch nicht ab; Stattdessen hören wir den Netzwerkverkehr ab, um Abfragen passiv zu erfassen und zugehörige Leistungsmesswerte zu berechnen (z. B. Serverreaktionszeit, Abfrageantwortzeit, Umlaufzeit usw.). Wir spezialisieren uns auf die Überwachung von Datenbanksystemen mit hoher Transaktions- und Massenproduktion - wo, um einen Blogger zu zitieren, den ich woanders gesehen habe, "der Kilometerzähler das Auto nicht verlangsamen kann". Mehr über uns unter: http://www.exact-solutions.com/products/iwatch

0

Werfen Sie auch einen Blick auf den Enterprise-Manager. Es verfügt über viele praktische Tools, mit denen Sie Ihren Code dynamisch untersuchen und optimieren können, während er ausgeführt wird. Es muss von Ihrem DBA konfiguriert werden.