SQLTXPLAINOder: Warum performt mein SQL nicht?Stefan SeckSenior ConsultantOPITZ CONSULTING Deutschland GmbHDOAG Regio NRW,...
Mission                                                                  MärkteWir entwickeln gemeinsam mit allen         ...
Agenda1.   Einfaches Vorgehensmodell2.   SQLTXPLAIN3.   DEMO4.   Fazit             SQLTXPLAIN – DOAG Regio NRW, 05.03.2013...
1   Einfaches Vorgehensmodell        SQLTXPLAIN – DOAG Regio NRW, 05.03.2013   © OPITZ CONSULTING GmbH 2013   Seite 4
Vorgehensmodell – High Level   Problem                 Ziel                           Daten    Problem  definieren        ...
Was ist das Problem?   Und sag ja nicht                                                           Was ist das  "Die Datenb...
Jetzt mal im Ernst … WAS ist SEIT WANN WIE langsam?   WAS: Welcher Prozess oder welche Statements?   SEIT WANN: Gab es ...
WAS ist langsam?           Client-Hardware                                    Netzwerk                Webserver / App-Serv...
Betriebssystem Top-down-Ansatz     CPU, IO, Memory überprüfen     Auf Unix mit top, sar, vmstat etc.     AIX und Linux...
Wie hätten Sies denn gern? Was soll erreicht werden?   So schnell wie vorher       Wie schnell war es denn vorher?     ...
Was will ich wissen?Die Datenbank ist langsam                                  Prozess langsam Server-Auslastung         ...
Wie erfahre ich das? Statspack Reports (keine Lizenz vs. AWR) SQL-Trace / tkprof 3rd Party Tools   Toad   SpotLight  ...
Wie löse ich ein Problem nicht? Ungefragt Underscore-Parameter verwenden Immer mehr Indices erstellen ( v$object_usage!...
Wie löse ich ein Problem? Ruhe bewahren! Eventuelle Änderungen zurücknehmen Statement umschreiben / Prozess ändern Bat...
Probleme vermeiden1.    Datenbank kennen2.    Datenbank beobachten3.    Housekeeping      Problem                 Ziel    ...
Tuning Ziel erreicht? Problem wurde definiert Ziel wurde definiert Ursache wurde gefunden Wurde das Ziel erreicht?   ...
Die 10 häufigsten Fehler, die wir aufKundensystemen ermittelt haben   Schlechte Verwaltung der Datenbankanmeldungen   In...
2   SQLTXPLAIN       SQLTXPLAIN – DOAG Regio NRW, 05.03.2013   © OPITZ CONSULTING GmbH 2013   Seite 18
SQLTXPLAIN – Was ist das? Entwickelt von Carlos Sierra MOS 215187.1 Kostenlos für alle Editionen Besteht aus 2 Bereich...
SQLTXPLAIN – Installation Ein Aufruf: sqcreate.sql  SQL> @sqcreate.sql  Optional Connect Identifier (ie: @PROD): @SSE1T  ...
SQLTXPLAIN – Installation Weitere User einrichten  grant SQLT_USER_ROLE to <user>; Rechte  SELECT_CATALOG_ROLE Verzeich...
SQLTXPLAIN – Installation Installation mit ausschließlich mit sys       SQL> @sqcreate.sql       BEGIN       *       ERRO...
SQLTXPLAIN – Installation (Version 11.4.5.4)  Objekte SQLTXPLAIN                                   Anzahl  TABLE          ...
SQLTXPLAIN – Lizenzfragen Diagnostic / Tuning-Pack-Auswahl (auch nachträglich)  "T" if you have license for Diagnostic an...
SQLTXPLAIN – Methoden sqltxtract.sql   wird mit SQL_ID oder HASH_VALUE ausgeführt   Informationen aus Memory oder AWR  ...
SQLTXPLAIN – Methoden sqltxtxplain.sql   führt ein übergebenes SQL aus   entspricht explain plan   @run/sqltxplain.sql...
SQLTXPLAIN – Main Report        SQLTXPLAIN – DOAG Regio NRW, 05.03.2013   © OPITZ CONSULTING GmbH 2013   Seite 27
SQLT – Health Check Läuft ohne Installation in der DB Bei SQTXPLAIN mitgeliefert oder von MOS Funktioniert ab Oracle 10...
SQLT – Health Check         SQLTXPLAIN – DOAG Regio NRW, 05.03.2013   © OPITZ CONSULTING GmbH 2013   Seite 29
SQLT – Test Case Wird bei jeder Auführung automatisch erstellt Zip File auf ein Testsystem kopieren. xpress.sh / xpress...
3   DEMO       SQLTXPLAIN – DOAG Regio NRW, 05.03.2013   © OPITZ CONSULTING GmbH 2013   Seite 31
4   Fazit            SQLTXPLAIN – DOAG Regio NRW, 05.03.2013   © OPITZ CONSULTING GmbH 2013   Seite 32
Performance Tuning Silverbullets Are there any robust silver bullets for SQL Tuning?o Nullo Nilo Zeroo Noo Nopeo Nada!   ...
Nutzen und Hilfe durch SQLTXPLAIN Tool zur Analyse von SQL Statements Liefert wertvolle Statistiken Ermöglicht verschie...
MOS – Referenzen 215187.1 SQLTXPLAIN (SQLT) tool 1454160.1 SQLTXPLAIN (SQLT) FAQ 1366133.1 SQL Health-Check (SQLHC) scr...
Fragen und Antworten         SQLTXPLAIN – DOAG Regio NRW, 05.03.2013   © OPITZ CONSULTING GmbH 2013   Seite 36
KontaktdatenStefan SeckSenior ConsultantOPITZ CONSULTING Deutschland GmbHStandort EssenTelefon +49 201 892994-1723Mobil   ...
Nächste SlideShare
Wird geladen in …5
×

SQLTXPLAIN - Oder: Warum performt mein SQL nicht?

1.721 Aufrufe

Veröffentlicht am

http://www.opitz-consulting.com/go/3-6-1080

Mithilfe von SQLTXPLAIN können problematische SQL Statements untersucht werden. Es liefert Diagnosedaten und auch Test Cases für die weitere Arbeit.

In seinem Vortrag beim NRW Regionaltreffen der Deutschen Oracle Anwendergruppe (DOAG) gab unser Senior Consultant Stefan Seck einen Überblick über das Tool und zeigte, wie sich die Performance mit SQLTXPLAIN verbessern lässt.

Das NRW Regionaltreffen der DOAG fand am 5. März 2013 in den Räumen des Essener Standorts unserer IT-Beratung statt.

-
Über uns:
Als führender Projektspezialist für ganzheitliche IT-Lösungen tragen wir zur Wertsteigerung der Organisationen unserer Kunden bei und bringen IT und Business in Einklang. Mit OPITZ CONSULTING als zuverlässigem Partner können sich unsere Kunden auf ihr Kerngeschäft konzentrieren und ihre Wettbewerbsvorteile nachhaltig absichern und ausbauen.

Über unsere IT-Beratung: http://www.opitz-consulting.com/go/3-8-10
Unser Leistungsangebot: http://www.opitz-consulting.com/go/3-8-874
Karriere bei OPITZ CONSULTING: http://www.opitz-consulting.com/go/3-8-5

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.721
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

SQLTXPLAIN - Oder: Warum performt mein SQL nicht?

  1. 1. SQLTXPLAINOder: Warum performt mein SQL nicht?Stefan SeckSenior ConsultantOPITZ CONSULTING Deutschland GmbHDOAG Regio NRW, Essen, 05.03.2013 SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 1
  2. 2. Mission MärkteWir entwickeln gemeinsam mit allen  BranchenübergreifendBranchen Lösungen, die dazu führen, dass  Über 600 Kundensich diese Organisationen besser entwickeln 29%als ihr Wettbewerb. 29% Handel / Logistik / Dienstleistungen Industrie / Versorger /Unsere Dienstleistung erfolgt Telekommunikationpartnerschaftlich und ist auf eine langjährige 42%Zusammenarbeit angelegt. Öffentliche Auftraggeber / Banken und Versicherungen / Vereine und VerbändeLeistungsangebot Eckdaten Business IT Alignment  Gründung 1990 Business Information Management  400 Mitarbeiter Business Process Management  9 Standorte Anwendungsentwicklung SOA und System-Integration IT-Infrastruktur-Management <Präsentationstitel – bitte im Folienmaster ändern> © OPITZ CONSULTING GmbH 2013 Seite 2
  3. 3. Agenda1. Einfaches Vorgehensmodell2. SQLTXPLAIN3. DEMO4. Fazit SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 3
  4. 4. 1 Einfaches Vorgehensmodell SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 4
  5. 5. Vorgehensmodell – High Level Problem Ziel Daten Problem definieren definieren sammeln lösen SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 5
  6. 6. Was ist das Problem? Und sag ja nicht Was ist das "Die Datenbank ist langsam!" Problem? Ja nee, "Die Datenbank ist langsam!" is klar… Problem Ziel Daten Problem definieren definieren sammeln lösen SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 6
  7. 7. Jetzt mal im Ernst … WAS ist SEIT WANN WIE langsam?  WAS: Welcher Prozess oder welche Statements?  SEIT WANN: Gab es Änderungen am System?  WIE: Klare Angaben in Sekunden, Minuten oder Stunden? Gegenfragen stellen! Problem Ziel Daten Problem definieren definieren sammeln lösen SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 7
  8. 8. WAS ist langsam? Client-Hardware Netzwerk Webserver / App-Server Konfiguration InterconnectClient-Konfiguration FirewallClient-Anwendung Internet-Verbindung I/O Problem Ziel Daten Problem definieren definieren sammeln lösen SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 8
  9. 9. Betriebssystem Top-down-Ansatz  CPU, IO, Memory überprüfen  Auf Unix mit top, sar, vmstat etc.  AIX und Linux: nmon  Auf Windows: Performance Meter (nicht Taskmanager…) Problem Ziel Daten Problem definieren definieren sammeln lösen SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 9
  10. 10. Wie hätten Sies denn gern? Was soll erreicht werden?  So schnell wie vorher  Wie schnell war es denn vorher?  (Wann war vorher?) Wie kann das Ziel erreicht werden?  Ist das Problem reproduzierbar?  Gibt es eine Test-Umgebung?  Kann man die Datenbank durchstarten?  Parameter ändern?  Welche Tools sind vorhanden?  Können die Statements geändert werden? Problem Ziel Daten Problem definieren definieren sammeln lösen SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 10
  11. 11. Was will ich wissen?Die Datenbank ist langsam Prozess langsam Server-Auslastung  Statements I/O-Last  Objekte Netzwerk-Belastung  Statistiken Server-Parameter  Ausführungspläne Datenbank-Parameter Architektur Problem Ziel Daten Problem definieren definieren sammeln lösen SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 11
  12. 12. Wie erfahre ich das? Statspack Reports (keine Lizenz vs. AWR) SQL-Trace / tkprof 3rd Party Tools  Toad  SpotLight  FogLight SQLTXPLAIN Problem Ziel Daten Problem definieren definieren sammeln lösen SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 12
  13. 13. Wie löse ich ein Problem nicht? Ungefragt Underscore-Parameter verwenden Immer mehr Indices erstellen ( v$object_usage!) Indices permanent reorganisieren Speicherzuteilung zu sehr vergrößern Neue Features ungetestet implementieren Intensive Nutzung von Hints Alle Maßnahmen auf einmal … Problem Ziel Daten Problem definieren definieren sammeln lösen SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 13
  14. 14. Wie löse ich ein Problem? Ruhe bewahren! Eventuelle Änderungen zurücknehmen Statement umschreiben / Prozess ändern Batchläufe verschieben Index anlegen, ändern oder löschen Speicherzuteilung ändern (SGA / PGA / Log-Buffer) Optimizer-Parameter ändern Statistiken anpassen, Histogramme gezielt einsetzen Problem Ziel Daten Problem definieren definieren sammeln lösen SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 14
  15. 15. Probleme vermeiden1. Datenbank kennen2. Datenbank beobachten3. Housekeeping Problem Ziel Daten Problem definieren definieren sammeln lösen SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 15
  16. 16. Tuning Ziel erreicht? Problem wurde definiert Ziel wurde definiert Ursache wurde gefunden Wurde das Ziel erreicht?  Ja: Feierabend  Nein: Die nächsten Folien weiter betrachten Datenbank Proaktiv Pünktlich beobachten arbeiten Feierabend SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 16
  17. 17. Die 10 häufigsten Fehler, die wir aufKundensystemen ermittelt haben  Schlechte Verwaltung der Datenbankanmeldungen  Ineffiziente Cursor- und Shared-Pool-Verwendung  Fehlerhaftes SQL  Nicht standardmäßige Initialisierungsparameter  Fehlerhaftes Datenbank-I/O  Probleme beim Redo Log Setup  “Häppchenweise Verarbeitung”  Lange Full Table Scans  Viele rekursive SQL-Anweisungen  Deployment- und Migrationsfehler SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 17
  18. 18. 2 SQLTXPLAIN SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 18
  19. 19. SQLTXPLAIN – Was ist das? Entwickelt von Carlos Sierra MOS 215187.1 Kostenlos für alle Editionen Besteht aus 2 Bereichen  Clientdateien  DB-Repository Geschrieben in PL/SQL nutzt ein SQL Statement und produziert ein ZIP File SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 19
  20. 20. SQLTXPLAIN – Installation Ein Aufruf: sqcreate.sql SQL> @sqcreate.sql Optional Connect Identifier (ie: @PROD): @SSE1T Password for user SQLTXPLAIN: Default tablespace [UNKNOWN]: SQLTXPLAIN Temporary tablespace [UNKNOWN]: TEMP Main application user of SQLT: QTUNE Oracle Pack license [T]: ... SQCREATE completed. Installation completed successfully. SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 20
  21. 21. SQLTXPLAIN – Installation Weitere User einrichten grant SQLT_USER_ROLE to <user>; Rechte SELECT_CATALOG_ROLE Verzeichnisse (DB-Server und/oder Client) SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 21
  22. 22. SQLTXPLAIN – Installation Installation mit ausschließlich mit sys SQL> @sqcreate.sql BEGIN * ERROR at line 1: ORA-20100: SQLT packages creation failed. Connect as SYS, not as STEFAN ORA-06512: at line 3  sys wird anschließend nicht mehr benötigt Aufruf von SQLTXPLAIN idealerweise mit Application User SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 22
  23. 23. SQLTXPLAIN – Installation (Version 11.4.5.4) Objekte SQLTXPLAIN Anzahl TABLE 207 INDEX 232 LOB 88 SYNONYM 17 SEQUENCE 12 Objekte SQLTXADMIN Anzahl SYNONYM 237 VIEW 103 PACKAGE 17 TYPE 6 SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 23
  24. 24. SQLTXPLAIN – Lizenzfragen Diagnostic / Tuning-Pack-Auswahl (auch nachträglich) "T" if you have license for Diagnostic and Tuning "D" if you have license only for Oracle Diagnostic "N" if you do not have these two licenses select sqltxplain.sqlt$a.get_pack_access from dual; Ändern exec sqltxadmin.sqlt$a.enable_tuning_pack_access; exec sqltxadmin.sqlt$a.enable_diagnostic_pack_access; set_param(sql_tuning_advisor, N); set_param(sql_monitoring, N); set_param(sql_tuning_set, N); set_param(automatic_workload_repository, N); SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 24
  25. 25. SQLTXPLAIN – Methoden sqltxtract.sql  wird mit SQL_ID oder HASH_VALUE ausgeführt  Informationen aus Memory oder AWR  @run/sqltxtract f995z9antmhxn sqltexecute.sql  führt ein übergebenes SQL aus  @run/sqltxecute.sql input/sample/script2.sql sqltxtrxec.sql  Kombination aus den beiden o. g. SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 25
  26. 26. SQLTXPLAIN – Methoden sqltxtxplain.sql  führt ein übergebenes SQL aus  entspricht explain plan  @run/sqltxplain.sql input/sample/script2.sql sqltxtrsby.sql  wird auf Primärdb ausgeführt mit db_link zur Standby  Information aus Memory oder AWR auf Standby  @run/sqltxtrsby f995z9antmhxn sqltcompare.sql  Vergleich zweier Ausführungspläne  @run/sqltcompare.sql 37826 58469 SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 26
  27. 27. SQLTXPLAIN – Main Report SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 27
  28. 28. SQLT – Health Check Läuft ohne Installation in der DB Bei SQTXPLAIN mitgeliefert oder von MOS Funktioniert ab Oracle 10g (Oracle 9i wird nicht unterstützt) SQLHC nutzt ausschließlich Daten aus dem Memory der Instanz SQLHC kann als SYS, DBA oder als User, der Zugriff auf Data Dictionary Views hat, ausgeführt werden. @sqlthc.sql D|T|N 7p1u57bknwpwy SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 28
  29. 29. SQLT – Health Check SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 29
  30. 30. SQLT – Test Case Wird bei jeder Auführung automatisch erstellt Zip File auf ein Testsystem kopieren. xpress.sh / xpress.sql aufrufen Testen:  Optimizer parameters  SQL hints  Optimizer versions  Structure of the SQL  Adding or removing indexes  System statistics  Object Statistics SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 30
  31. 31. 3 DEMO SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 31
  32. 32. 4 Fazit SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 32
  33. 33. Performance Tuning Silverbullets Are there any robust silver bullets for SQL Tuning?o Nullo Nilo Zeroo Noo Nopeo Nada! Quelle: Carlos Sierra, Using SQLTXPLAIN to Diagnose SQL Statements Performing Poorly SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 33
  34. 34. Nutzen und Hilfe durch SQLTXPLAIN Tool zur Analyse von SQL Statements Liefert wertvolle Statistiken Ermöglicht verschiedene Szenarien und Parameter zu testen Ersetzt nicht das eigenständige Denken SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 34
  35. 35. MOS – Referenzen 215187.1 SQLTXPLAIN (SQLT) tool 1454160.1 SQLTXPLAIN (SQLT) FAQ 1366133.1 SQL Health-Check (SQLHC) script 1417774.1 SQLHC FAQ 1455583.1 SQLHC Video SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 35
  36. 36. Fragen und Antworten SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 36
  37. 37. KontaktdatenStefan SeckSenior ConsultantOPITZ CONSULTING Deutschland GmbHStandort EssenTelefon +49 201 892994-1723Mobil +49 173 727 9792stefan.seck@opitz-consulting.com youtube.com/opitzconsulting @OC_WIRE slideshare.net/opitzconsulting xing.com/net/opitzconsulting SQLTXPLAIN – DOAG Regio NRW, 05.03.2013 © OPITZ CONSULTING GmbH 2013 Seite 37

×