Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue...

49
© OPITZ CONSULTING 2017 überraschend mehr Möglichkeiten! © OPITZ CONSULTING 2017 mit frei verfügbaren Mitteln #DOAG2017 Uwe Küchler OPITZ CONSULTING Deutschland GmbH Oracle Performance- Analyse

Transcript of Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue...

Page 1: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

überraschend mehr Möglichkeiten!

© OPITZ CONSULTING 2017

mit frei verfügbaren Mitteln

#DOAG2017

Uwe KüchlerOPITZ CONSULTING Deutschland GmbH

Oracle Performance-Analyse

Page 2: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich, Hauptinh. l. + Sekundärinhalt r.

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Zur Person

Generation C=64

Seit über 25 Jahren in der IT tätig

1997-2000 bei Oracle Deutschland

Seither durchgehend Oracle-Berater, im DBA-und Entwicklungs-Umfeld, Tutor

Seit 09/2013 bei OPITZ CONSULTING

Buch- und Blogautor (oraculix.de)

Performance als „Steckenpferd“

1975

2016

Cloud!☺

Page 3: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017 Seite 3

überzählige blaue Zahlenboxen löschen!

Agenda

1

2

3

Analyse akuter Probleme

Historische Analyse ohne AWR

Fragen

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 4: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017 Seite 4

Analyse akuter Probleme

Zugriff nur per SSH? AMON

SQL-Zauberkasten

Zugriff nur per SQL? Tunas360

V$SESSION_LONGOPS

orasrp / Extended SQL Trace

1

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 5: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Keine GUI? Nur SSH-Zugriff?Kein Problem!

Page 6: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

AMON – ein „top“ für die Oracle-DB

Fortlaufend entwickelt von Andrej Simon (Oracle Support)

Für fast alle Unixe/Linuxe verfügbar

Rein Text-basiert Läuft daher in jedem Terminal

Ideal, wenn nur SSH-Zugriff auf DB-Server möglich ist

Berechnet regelmäßig differentielle Metriken, ähnlich „top“

Leichtgewichtig und schnell aufgerufen

https://sites.google.com/site/freetoolamon/

https://github.com/Rendanic/SQL-Zauberkasten

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 7: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Oracle Performance-Analyse mit frei verfügbaren Mitteln

AMON – ein „top“ für die Oracle-DB

LD_LIBRARY_PATH muss (korrekt) gesetzt sein

Empfehlung: „amon“ als Alias in .bashrc anlegen.

$ alias amon="~/zk/amon/11.2/amon64_ol5_11r2 -u system -p oracle"

$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib

$ amon

Page 8: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

missachten!

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 9: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

TUNAs360

„Tuning with Active Sessions“ Von Mauro Pagano (Accenture Enkitec, ex-Oracle-Support)

Teil der „*360“-Tools (edb360, eAdam360)

Ca. 10 min Sampling von v$session Messung aktiver Sessions, ähnlich ASH

HTML-Ausgabe DB-Übersicht

Active Session Graph

Top 5 Sessions

Top 5 SQL

Top Objects aus verschiedenen Perspektiven

Top Ausführungspläne als Textdateien

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 10: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

TUNAs360

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 11: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

TUNAs360

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 12: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

Rücksprache mit Mktg.

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 13: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

Rücksprache mit Mktg.

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 14: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

V$SESSION_LONGOPS

Zeigt lange laufendes SQL und PL/SQL Ab bestimmten Schwellwerten

PL/SQL: bei entsprechender Instrumentierung immer. DBMS_APPLICATION_INFO.SET_SESSION_LONGOPS

Nur Operationen, deren Dauer berechnet werden kann Full Table Scans

Index (Fast) Full + Range Scans

Hash- und Merge Joins

leider keine Nested Loops Nachteil bei OLTP

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 15: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

V$SESSION_LONGOPS im SQL Developer

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 16: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Historisierte Metriken für 60 Minuten kostenfrei

Es gibt Views auf die Performance-Metriken der letzten 60 Minuten, für die kein Diagnostics Pack gekauft werden muss:

V$WAITCLASSMETRIC_HISTORY Wartezeiten nach Wait Class (Application, Concurrency, Network, …)

Durchschnitt über 15s und 60s, für eine Stunde historisiert

V$SYSMETRIC_HISTORY System-Metriken (CPU, Executes, Parses, Commits, Reads, …)

Durchschnitt über 15s und 60s, für eine Stunde historisiert

Entspricht den Performance-Infos in EM – aber kostenfrei!

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 17: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Historisierte Metriken für 60 Minuten kostenfrei (2)select * from (

with WC as(

select distinct e.WAIT_CLASS, e.WAIT_CLASS_ID

from v$event_name e

)

select to_char( END_TIME, 'yyyy-mm-dd hh24:mi' ) time

, wc.WAIT_CLASS

, round( AVERAGE_WAITER_COUNT, 2 ) AVERAGE_WAITER_COUNT

from GV$WAITCLASSMETRIC_HISTORY h

, WC

where h.WAIT_CLASS_ID = wc.WAIT_CLASS_ID

and wc.WAIT_CLASS <> 'Idle'

and h.INST_ID = ( select INST_ID from V$INSTANCE )

union all

select to_char( END_TIME, 'yyyy-mm-dd hh24:mi' ) time

, '_CPU' as WAIT_CLASS

, round( sh.VALUE / 100, 2 ) AVERAGE_WAITER_COUNT

from GV$SYSMETRIC_HISTORY sh

where sh.METRIC_ID = 2075 -- "CPU Usage Per Sec" in csec/s

and sh.INST_ID = ( select INST_ID from V$INSTANCE )

)

where rownum < 1000

order by TIME, WAIT_CLASS;

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 18: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

Rücksprache mit Mktg.

Gather Database Stats

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 19: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Oracle Performance-Analyse mit frei verfügbaren Mitteln

orasrp / Extended SQL Trace

Page 20: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Extended SQL Trace-- An-/Abschalten in der eigenen Session

SQL> ALTER SESSION SET EVENTS '10046 trace name context forever, level 8';

SQL> ALTER SESSION SET EVENTS '10046 trace name context off';

-- An-/Abschalten für eine andere Session

SQL> EXEC DBMS_SYSTEM.set_sql_trace_in_session(sid=>123, serial#=>1234, sql_trace=>TRUE);

SQL> EXEC DBMS_SYSTEM.set_sql_trace_in_session(sid=>123, serial#=>1234, sql_trace=>FALSE);

-- An-/Abschalten für eine andere Session

SQL> EXEC DBMS_SYSTEM.set_ev(si=>123, se=>1234, ev=>10046, le=>8, nm=>' ');

SQL> EXEC DBMS_SYSTEM.set_ev(si=>123, se=>1234, ev=>10046, le=>0, nm=>' ');

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 21: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Extended SQL Trace (2)

„Howto“ auf oracle-base.com

Trace File auswerten mit Tkprof

SQL Developer

orasrporasrp --google-charts tracefile.trc parsedfile.html

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 22: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Oracle Performance-Analyse mit frei verfügbaren Mitteln

ORASRP

Ein „tkprof“ mit HTML-Ausgabe, Verlinkten Abschnitten und Graph

Kommandozeile fast wie bei tkprof

Kann mit Proxy-Script im Client-/Server-Modus laufen Start im Trace-Verzeichnis auf dem DB-Server

Aufruf orasrp vom Client

Page 23: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

missachten!

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 24: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017 Seite 25

Historische Analyse ohne AWR

Log Switch Heat Map

Statspack

SQLT und sqlhc

2

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 25: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Log Switch Heat Map

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 26: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Log Switch Heat Map

Grundlage: v$log_history

SELECT TO_CHAR(first_time,'YYYY-MM-DD HH24')||'h' t

, COUNT(*)

FROM v$log_history

WHERE trunc(FIRST_TIME) >= trunc(sysdate - 31)

GROUP BY TO_CHAR(first_time,'YYYY-MM-DD HH24');

…das geht aber schöner! ☺

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 27: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Log Switch Heat Map in SQL Developer

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 28: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

STATSPACK

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 29: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Statspack lebt!

Bordmittel seit Oracle 8

Vorläufer des AWR, basierend auf Schnappschüssen von Wait Events.

Ist auch in Oracle 12c immer noch verfügbar! Anfängliche Startschwierigkeiten in 12c behoben.

Kleiner Bug in 12.1.0.2 bei einem unbekannten, aber nützlichen Feature (s.u.)

Größerer Bug: Idle Events werden in Top Events gelistet.

Kombiniert mit Oracle SQL Developer Reports sogar graphisch und kostenfrei.

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 30: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

STATSPACK 12c: Installation

Installation in 12c genauso wie bisher: Tablespace für Schema PERFSTAT einrichten.

Wenn Multi-Tenant und Installation in CDB:SQL> alter session set "_oracle_script"=TRUE;

SQL> @spcreate

Snapshot-Job einrichten;Empfehlung: Um Ausführungspläne zu archivieren, höchsten Level einstellen (statspack.snap(7))

Löschjob einrichten (Aufruf von statspack.purge(<days>)).

Achtung bei RAC: Es wird ein Snapshot-Job pro Instance benötigt. Skripte, um dies alles zu automatisieren, gibt es auf Github:

https://github.com/Rendanic/SQL-Zauberkasten/tree/master/sql/statspack/spcreate

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 31: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

STATSPACK 12c: Reports

Wie bei AWR wird ein Bericht aus den Differenzen zweier Snapshots generiert.

$ORACLE_HOME/rdbms/admin/spreport

Idle Events

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 32: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

STATSPACK und DBMS_XPLAN

In Statspack historisierte Ausführungspläne können mit dem bekannten DBMS_XPLAN formatiert werden Über den Plan_Hash_Value (phv), nicht über die sql_id

select * from table(DBMS_XPLAN.DISPLAY(

TABLE_NAME => 'perfstat.stats$sql_plan'

, STATEMENT_ID => null

, FORMAT => 'ALL -predicate -note'

, FILTER_PREDS => 'plan_hash_value = '|| &phv

));

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 33: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

STATSPACK und DBMS_XPLAN (2)

Bug in 12.1 und 12.2: DBMS_XPLAN erwartet eine Spalte, die in der Statspack-Tabelle derzeit noch fehlt.

Workaround: Spalte (unsichtbar) manuell anlegen.

ALTER TABLE perfstat.stats$sql_plan ADD timestamp

INVISIBLE AS (cast(NULL AS DATE));

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 34: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Statspack-Analyse mit SQL Developer Reports

Beispiel: Average Active Sessions (AAS) Wesentlicher Indikator für Belastung des RDBMS.

Vergleichbar mit „Load“ in Unix/Linux top.

Guter Einstieg für ein Drill-Down nach Top Waits und Top SQL

Nicht in SQL Developer mitgeliefert; bei GitHub zu finden http://tinyurl.com/sqldevReports

http://oraculix.com/2015/03/24/visualizing-statspack-average-active-sessions-in-sql-developer/

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 35: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Problem: Mehr aktive Sessions als log. CPUs (hier: Hyperthreads) Überlastung des Servers Lange Antwortzeiten

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 36: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Worauf haben die Sessions in diesem Zeitraum am längsten gewartet?

Idle Events korrekt sortiert

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 37: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 38: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

SQLT und sqlhc

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 39: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Wozu SQLT / SQLHC?

Beschleunigt den SQL-Tuning-Prozess durch Automatisierung von ansonsten manuell ausgeführten Recherchen:

Plötzliche Änderungen am Ausführungsplan

Änderungen an den Optimizer-Statistiken der vom SQL benutzten Objekte

Grundsätzlich schlechte oder fehlende Optimizer-Statistiken

Nicht mehr benutzte (z.B. weil invalide oder gelöschte) Indizes

Aufruf des SQLs mit außergewöhnlichen Bind-Werten

Hinweise auf versionsspezifische Bugs

Page 40: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Funktionsweise von SQLT

Page 41: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Funktionsweise von SQLT

Sammlung von SQL-Skripten, PL/SQL-Packages und Repository-Tabellen in eigenem Schema

Sammelt Informationen zum Tuning eines SQL-Statements ein, wahlweise aus historischen Informationen oder durch Ausführung des Statements

Führt über 100 Health Checks rund um das untersuchte Statement aus

Kann aus einem Anwendungs-Schema heraus ausgeführt werden

Läuft auf Single Instance, RAC und Exadata

Läuft unter Oracle 8i ++

Page 42: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Funktionsweise von SQLHC

Ein einzelnes Script (sqlhc.sql) Download unter Document ID 1366133.1

Erfordert keine Installation

Kann daher sofort auf eine Datenbank losgelassen werden

Hinterlässt keinen „Fußabdruck“ in der DB

Ausführen als SYS (niedriger privilegierter User möglich)

Entspricht Methode „XTRACT“ von SQLT SQL wird nicht ausgeführt

Gegenüber XTRACT kein STA, ADDM, 10046

Aber, falls verfügbar bzw. lizensiert: Historische Ausführungspläne aus AWR Historische Binds SQL-Monitor-Bericht (Flash-Version)

Page 43: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Funktionsweise von SQLHC:Bericht (Hauptseite)

Page 44: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Fazit

Eine komfortable Performance-Analyse geht auch Ohne teure Zusatzlizenzen

Ohne Tools von Drittherstellern

Statspack funktioniert auch noch in 12c und erlaubt eine fundierte Top-Down-Analyse.

Die Reports des SQL Developer sind auch für DBAs interessant!

Es gibt eine Menge freier Tools von Oracle und der Community TUNAs360, SQLT, sqld360, orasrp, …

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 45: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017 Seite 46Oracle Performance-Analyse mit frei verfügbaren Mitteln

Fragen und Antworten

Page 46: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

überraschend mehr Möglichkeiten!

@OC_WIRE

OPITZCONSULTING

opitzconsulting

opitz-consulting-bcb8-1009116

WWW.OPITZ-CONSULTING.COM

Uwe M. Küchler

Managing Consultant

[email protected] +49 6172 66260 – 0Mobil +49 173 727 91 43

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 47: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Links + Literatur

Li3

6.941

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 48: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Referenzen

SQL Developer Performance Reports: https://github.com/oraculix/sql-developer-tools

ORASRP – Profiler für Extended SQL Trace Files: http://oracledba.ru/orasrp/

Introducing TUNAs360: (Mauro Pagano)

SQLT und SQLHC: Präsentation von der DOAG 2013

SQLd360, SQL diagnostics collection made faster (Mauro Pagano)

SQL_TRACE/Event 10046 Trace File Analyzer (trca): MOS Doc ID 224270.1

Trace File Analyzer (TFA): MOS Doc ID 1513912.1

Trace Assistant (trcasst): Database Net Services Admin Guide

Welche Views und APIs sind Lizenzpflichtig: http://docs.oracle.com/cd/E11882_01/license.112/e47877/options.htm#DBLIC165

Oracle Performance-Analyse mit frei verfügbaren Mitteln

Page 49: Oracle Performance- Analyse - doag.org · © OPITZ CONSULTING 2017 Seite 3 überzählige blaue Zahlenboxen löschen! Agenda 1 2 3 Analyse akuter Probleme Historische Analyse ohne

© OPITZ CONSULTING 2017

möglich

Querverweise: Weitere Vorträge auf der #DOAG2017

Markus Haberstock: „Performance-Analyse und Monitoring für die SE“

Marco Mischke: „AWR und ASH für die Standard Edition“

Oracle Performance-Analyse mit frei verfügbaren Mitteln