Performance Tools…. … für alle Editionen Andreas Cejna Datenbanken sind unsere Welt www.dbmasters.at „Kodachrome“ ● Cloud Control – Bunt – Umfangreich – Mächtig ● Aber zu welchem Preis? – Enterprise Edition in der DB – Diagnostic Pack – (Tuning Pack) Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at „Dark side of the moon“ ● Andere Editions ● Keine Packs verfügbar ● Eingeschränkter Zugang auf Performance Views Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at Statspack / PERFSTAT ● Sammelt Daten über die Instanz-Performance ● Bis 9i Standard ● Vorgänger des AWR Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at Installation PERFSTAT ● $ORACLE_HOME/rdbms/admin/spcreate – Legt viele SYS-Objekte und PUBLIC Synonyms an – PERFSTAT Schema ● $ORACLE_HOME/rdbms/admin/spauto – Submit als DBA_JOB im 1h Interval Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at Pflege PERFSTAT ● $ORACLE_HOME/rdbms/admin/sppurge.sql – Manuelles Purge – JOBS für statspack.purge schreiben ● Prozedur statspack.purge mit einigen Varianten ● $ORACLE_HOME/rdbms/admin/sptrunc.sql – Leert die Tabellen des PERFSTAT Users Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at PERFSTAT Baselines ● Statspack.make_baseline – Markiert Snapshots, die nicht gelöscht werden sollen ● Statspack.clear_baseline – Hebt die Markierung wieder auf. Daten werden beim Purge gelöscht. ● Tools zum Vergleichen gegen die Baselines fehlen Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at Tuning PERFSTAT ● Prozedur statspack.modify_statspack_parameter ● stats_level – Level 5 – default – Level 7 – Segmentstatistiken – Level 10 – Child Cursors Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at Reporting mit PERFSTAT ● $ORACLE_HOME/rdbms/admin/spreport.sql – Database wide report ● $ORACLE_HOME/rdbms/admin/sprepsql.sql – Report für spezifisches SQL Statement Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at Umstieg auf die kostenpflichtige Variante ● $ORACLE_HOME/rdbms/admin/spdrop.sql – Löscht User und Synonyme auf PERFSTAT Objekte ● Migration der Daten von Statspack auf AWR ist nicht vorgesehen Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at oraSASH – was ist das? ● Simulated Active Session History ● Zentrales Repository (kann auch in einer XE liegen) ● Data Collection über DB-Links Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at oraSASH – Funktionsweise Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at oraSASH – Data Collection Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at oraSASH – Installation ● Download und Unzip von orasash-2.4.zip ● Collection User in jeder Zieldatenbank anlegen: – Als sys: target_user_view_<Version>.sql ● Repository einmal zentral erzeugen: – @config.sql ● Zieldatenbank im Repository anlegen: – @adddb.sql Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at oraSASH – Scripts ● @job_stat.sql – Zeigt die erzeugten Jobs ● @checklog.sql – Zeigt das sash Protokoll an ● @currentdb.sql – Zeigt die aktive Datenbank ● @switchdb.sql – Umschalten auf eine andere Datenbank Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at oraSASH – Abfrage ● ● ● ● sash Repository emuliert die ASH Views Immer für die „aktive“ Datenbank Views über die gesammelten Daten Stolperstein: – Standard View Namen werden ersetzt – Repo User nie für normale DB Abfragen verwenden ● Manuell ● SQL*Developer Reports Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at oraSASH – SQL*Developer ● Fertige Reports stehen zur Verfügung – Für Repository – Für gesammelte Daten ● Standard Reports funktionieren ev. auch – Repository emuliert Standard Views Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at oraSASH – SQL*Developer – Show Targets ● Switchdb Funktion ebenfalls implementiert Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at oraSASH – SQL*Developer – Top Sessions SASH ● Mehrstufige Reports möglich ● Einfache graphische Reports möglich ● Ab SQL*Developer 4.0.3 Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at oraSASH - Danksagung ● Ernst Leber – für seinen DOAG Vortrag ● Kyle Hailey – für die Idee ● Marcin Przepiorowski – Support and Development Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at oraSASH - Links ● ● ● ● ● http://pioro.github.io/orasash/ http://eleoracle.wordpress.com/ http://de.slideshare.net/khailey/ooug-oracle-performance-tuning-with-aas http://de.slideshare.net/khailey/rmoug-ashmaster-short http://eleoracle.wordpress.com/2014/07/31/control-orasash-repository-with-sqldeveloper/ ● Toolbox: ● https://drive.google.com/file/d/0ByCL8abnYv3Lei0yM0diTzNvZk0/view?usp=sharing Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at SQLT / SQLTXPLAIN ● Werkzeug zur detaillierten Analyse eines einzelnen SQL Statements ● Von ORACLE ● Lizenzfrei Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at SQLT - Download und Installation ● MOS Note 215187.1 ● Download sqlt.zip ● Run sqlt/install/sqcreate.sql – – – – Erzeugt SQLTXPLAIN und SQLTXADMIN Users Erzeugt SQLT_USER_ROLE Möglichkeit auf Zugriff der OMS Packs Passwort wird immer benötigt, daher so sicher wie nötig und so einfach wie möglich halten Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at SQLT - Methoden ● ● ● ● ● ● XTRACT – extract - für bekannten SQL-ID XECUTE – execute mit SQL Statement XTRXEC – Extract + Execute XTRSBY – extract on Standby XPLAIN – run EXPLAIN PLAN FOR … Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at SQLT - XTRACT ● SQL-ID oder HASH VALUE aus statspack oder SASH Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at SQLT – XTRACT - Ergebnis ● Zip File Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at SQLT – XTRACT – Ergebnis (II) ● HTML File ● Umfangreiche Links ● Umfangreiche Sektionen Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at SQLT – XTRACT – Ergebnis (III) Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at SQLT – XTRACT – Ergebnis (IV) Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at SQLT – XTRACT – Ergebnis (V) Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at „Kodachrome side of the moon“ ● ● ● ● ● Monitoring in allen Editions: Ja, es geht perfstat – die solide Basis orasash – es darf ein bißchen mehr sein sqlt – worum geht‘s denn jetzt wirklich? SQL*Developer macht‘s bunt Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at Q&A Performance Tools für alle Editionen Datenbanken sind unsere Welt www.dbmasters.at