DOAG Regionaltreffen Hannover Dipl.-Inform. Obaydah Moallim Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Agenda: • I. Vorwort - Ein Beispiel aus der realen Welt • II. Wie fange ich an zu tunen? • III. Performance-Analysen - Welche Tools bekomme ich kostenlos mit der Datenbank dazu? - TKPROF - STATSPACK - UTLBSTAT/UTLESTAT Seite 2 Einstieg in Performance Analysen 15.02.2005 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 • IV. Auswertung der Performance-Reports - Reportsbeispiele - YAPP - OraPerf • V. Links Seite 3 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Wie gehe ich beim Performance-Tuning vor? - Wo fange ich an? - Wie gehe ich weiter? Seite 4 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Immer einfach anfangen!!! Keep things simple!!! Seite 5 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Sind die Datenbankkonfigurationen/-Parameter immer noch aktuell? - Wird oft vernachlässigt! - Man denkt oft daran, wenn es kracht! Seite 6 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Sind die ‚alltäglichen‘ Arbeiten immer ordentlich durchgeführt worden?! - Was sind diese? - Welche Vorteile bringen sie mir? - ANALYSE, INDEX REBUILD Seite 7 DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Gibt es in der Datenbank Indexe, die nicht mehr benutzt werden? - Wieso ist das so wichtig? - Wie kriege ich raus, welche Indexe nicht mehr benutzt werden? Seite 8 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Nicht mehr benutzte Indexe erkennen: - Seit Oracle9i - ALTER INDEX <INDEXNAME> MONITORING USAGE; - ALTER INDEX <INDEXNAME> NOMONITORING USAGE; Seite 9 DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 V$OBJECT_USAGE INDEX_NAME TABLE_NAME MONITORING USED START_MONITORING END_MONITORING Seite 10 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Starten des Monitoring: (1) ALTER TABLE SCOTT.EMP MONITORING USAGE; Status überprüfen: SQL> select * from V$OBJECT_USAGE; INDEX_NAME TABLE_NAME MON USED START_MONITORING END_MONITORING --------------- ---------------- --- --- ------------------- -------------EMPIDX2 EMP YES NO 04/17/2003 15:20:03 Seite 11 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 (3) Die Anwendung einige Zeit laufen lassen. Status erneut überprüfen: (4) SQL> select * from V$OBJECT_USAGE; INDEX_NAME TABLE_NAME MON USED START_MONITORING END_MONITORING --------------- ---------------- --- --- ------------------- -------------EMPIDX2 EMP YES YES 04/17/2003 15:20:03 Seite 12 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Monitoring ausschalten: (5) ALTER TABLE SCOTT.EMP NOMONITORING USAGE; Status überprüfen: SQL> select * from V$OBJECT_USAGE; INDEX_NAME TABLE_NAME MON USE START_MONITORING END_MONITORING --------------- ---------------- --- --- ------------------- -----------EMPIDX2 EMP YES YES 04/17/2003 15:20:03 04/17/2003 35:30:03 Seite 13 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Performance-Analysen Beim Performance-Tuning muss eine wichtige Tatsache berücksichtigt werden: Performance-Tuning heißt analysieren, tunen und anschließend wieder analysieren und wieder tunen! Es gibt einfach kein Kochbuch für PerformanceTuning! Seite 14 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Zur Performance-Analyse stehen ein paar Methoden zur Verfügung: - TKPROF - STATSPACK - UTLBSTAT/UTLESTAT - YAPP Seite 15 Einstieg in Performance Analysen 15.02.2005 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 TKPROF konvertiert Oracle Trace-Files in eine lesbarere Form. Voraussetzungen: - PLAN_TABLE @ORACLE_HOME/rdbms/admin/utlxplan.sql - TIMED_STATISTICS=TRUE ALTER SESSION SET SQL_TRACE = TRUE .. Select ... .. ALTER SESSION SET SQL_TRACE = FALSE Seite 16 DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Trace-File in USER_DUMP_DEST Auswerten mit: TKPROF <trace-file> <output-file> explain=user/password@service Seite 17 DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 STATSPACK - Seit Oracle 8.1.6 - Snapshots der Systemstatistiken - Report über den Zeitraum zwischen zwei Snapshots Seite 18 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Dokumentation $ORACLE_HOME/rdbms/admin/spdoc.txt Installation $ORACLE_HOME/rdbms/admin/spcreate.sql User PERFSTAT mit den notwendigen SchemaObjekten und dem STATSPACK-Package. Seite 19 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Snapshots mit: SQL> exec Statspack.Snap Snapshots automatisieren durch: DB-Job über DBMS_JOB erzeugen mit Hilfe $ORACLE_HOME/rdbms/admin/spauto.sql Report generieren mit: $ORACLE_HOME/rdbms/admin/spreport.sql Seite 20 Einstieg in Performance Analysen 15.02.2005 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 UTLBSTAT/UTLESTST Vorgänger von Statspack Erster Snapshot mit: UTLBSTAT Abschließender Snapshot und (Text-) Report mit: UTLESTAT Seite 21 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 STATSPACK VS. UTLBSTAT/UTLESTAT UTLBSTAT/UTLESTAT - unterstützt OPS/RAC nicht - nicht alle interessanten Statistiken werden gesammelt und ausgewertet - nur Instance-Statistiken - keine hinterlegten Snapshots in der Datenbank - UTLBSTAT/UTLESTAT betrachtet nur die mit einem COMMIT abgeschlossen Transaktionen, als Transaktion Transaktionen = ‚user commits’ Seite 22 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Wichtige Informationen, die beim UTLBSTAT/UTLESTAT fehlen: - Für SQL-Statements: Buffer gets Disk reads Pars calls Executes - Detailisierte latch Statistiken Seite 23 DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 STATSPACK Viel besser als UTLBSTAT/UTLESTAT. Transaktion ist eine Prozesskette, die mit ROLLBACK oder COMMIT endet. Die Anzahl der Transaktionen ist gleich ‚user commits’+’user rollbacks’. Wichtig: Der Vergleich zwischen Staspack und UTLBSTAT/UTLESTAT zeigt Unterschiede in den ‚Raten’ pro Transaktion. Seite 24 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Der generierte Report ist ausführlicher als report.txt, ist aber genau so schwer zu lesen OraPerf www.oraperf.com Seite 25 Einstieg in Performance Analysen 15.02.2005 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 YAPP - YAPP: Yet Another Performance Profiling Method - Von Anjo Kolak - Anstelle von ‚Rates‘ z.B. buffer cache hit ratio responce time = service time + wait time - Verwendet die Ergebnisse vom STATSPACK Report Seite 26 Einstieg in Performance Analysen 15.02.2005 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 OraPerf Interpretiert die Performance-Reports und macht sie lesbarer Kostenlose Anmeldung Kein Software-Download notwendig STATSPACK-Report UTLBSTAT/UTLESTAT-Report Oracle8 bis Oracle10g Seite 27 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Seite 28 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Seite 29 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Seite 30 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Seite 31 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Seite 32 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Einstieg in Performance Analysen 15.02.2005 Seite 33 Einstieg in Performance Analysen 15.02.2005 DOAG Regionaltreffen Hannover DOAG Regionaltreffen Hannover Einstieg in Performance Analysen 15.02.2005 Links www.oracle-base.com www.adp-gmbh.ch/ora www.dbasupport.com www.ss46.com www.orafaq.com www.orapub.com/papers Ansonsten: technet.oracle.com metalink.oracle.com Seite 34