Oracle Statistiken im HORIZON-Umfeld

Slides:



Advertisements
Ähnliche Präsentationen
ER-Datenmodell und Abfragen in SQL
Advertisements

System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
SQL als Abfragesprache
SQL als Abfragesprache
Prof. Dr. T. Kudraß1 Query-Optimierung. Prof. Dr. T. Kudraß2 Einführung Anfrageoptimierung Von der Anfrage (WAS?) zur Auswertung (WIE?) –Ziel: kostengünstiger.
Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
Übung Datenbanksysteme SQL-Anfragen (2)
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Grafische Datenverarbeitung und Visualisierung Dynamic Queries - Steuerelemente.
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
SQL - Ausführungspläne Matthias Jauernig (03INB), Michael Lahl (03IND)
Abfrageoptimierung mit SQL Server
EXPLAIN PLAN - Erste Schritte April 2004EXPLAIN PLAN2 Was fehlt noch? Konkretes Beispiel für einen Plan.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #4 Anfragebearbeitung (Teil 2)
Green Query Optimization using Query Clustering
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
SQL Überblick Abfragen aus einer Tabelle
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 Anfragebearbeitung.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #9 Anfragebearbeitung.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung (Teil 1)
Datenbanksysteme für hörer anderer Fachrichtungen
Freiwillige Feuerwehr der Stadt Perg
Vorlesung #10 Physische Datenorganisation
1 Gruppierung, Aggregierung und Sortierung (2) Abarbeitungsmodell bei Gruppierung: Werte from- und where-Klauseln aus wie bisher (Bildung von Kreuzprodukt.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung.
Die Idee hinter Copying Garbage Collection (1) Aufteilung des Heaps in zwei Teile: To-Space und From-Space Nutzung eines Teiles durch das Programm Ist.
Structured Query Language
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #3 Anfragebearbeitung (Teil 1)
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Vorlesung #5 SQL (Teil 2).
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
Datenbank System (DBS) - Warum?
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken abfragen mit SQL
Exotisches SQL Author: Sven Weller.
1 StatiX: Making XML Count J.Freire, J.R.Haritsa, M.Ramanath, P.Roy, J.Siméon: StatiX: Making XML Count ACM SIGMOD, June 2002 Ann Früchtl
DOAG Regionaltreffen NRW 10. Juni 2003 TDS Deutschland AG & Co. oHG PIPELINED FUNCTIONS Autor: Karl-Otto Spiecker Vortrag: Bernd Löschner.
By Thorsten Zisler 1 SQL Datenbank Anbindung an den Supervisor.
DB2 UDB im z/VSE Heinz Peter Maassen – Lattwein GmbH COURSE Tagung Bad Hersfeld 2008.
Funktionsweise eines Funambolservers Natascha Graf Aachen, 01. Februar 2010.
DOAG SID Data Warehouse
Aufgabe 1: Begriffswelt
Abfragen Wiederholung Manuel Friedrich Schiller-Gymnasium Hof.
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Vorlesung #7 Fehlerbehandlung
Vorlesung #5 SQL (Teil 2).
Vorlesung #6 SQL (Teil 3).
SQL Join.
Wirtschaftsinformatik
Abfragesprache SQL in ORACLE
Flashback mal sieben DOAG RegioTreff , Wiesbaden
Create Table, Rechte und Rollen
Funktionen, GROUP BY, HAVING Views anlegen und verwenden
Indexierung Oracle: indexes Indexierung.
Routing … … die Suche nach dem Weg..
Stream-Verwaltung mit konventionellen Datenbanksystemen
Studiengang Informatik FHDW
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
Service-Design in SEPA
Neues aus HORIZON Lessons Learned
Once Upon A Time In Austria
Nutzung und Modellierung von Datenbanken
Was ändert sich im Vergleich zu Version 1.0?
Projektarbeit von Michael W. Passer Betreuer: Martin Pfeifle
Schmock Mutter nicht ausreichend versorgt  fast verhungert Mutter bei Geburt verstorben Schmock mit Flasche aufgezogen.
(Structured Query Language)
 Präsentation transkript:

Oracle Statistiken im HORIZON-Umfeld Highway to Statistics Oracle Statistiken im HORIZON-Umfeld Lars Eisenblatt, Coniatos AG, Wolfgang Graf, FIDUCIA IT AG, ITB2DC| JBFOne 2009

Ziel dieses Vortrags Sie erfahren die Abläufe zum Optimieren eines SQL-Statements Sie lernen verschiedene Basis-Schritte eines Zugriffsplanes und deren spezifische Vor- und Nachteile kennen Sie erkennen, was notwendig ist, um SQL-Anweisungen mit optimalem Ressourcenverbrauch auszuführen Sie erfahren, warum für SOA durch den Betrieb neue Verfahren entwickelt werden

Agenda Funktionsweise der Oracle Cost Based Optimizers (CBO) Oracle Tabellen-Statistiken Anpassung der Oracle Statistiken an HORIZON Fazit und Ausblick

Agenda Funktionsweise der Oracle Cost Based Optimizers (CBO) Oracle Tabellen Statistiken Anpassung der Oracle Statistiken an HORIZON Fazit und Ausblick

vom SQL zum Ausführungsplan Stored Outlines/ Profiles Cursor Sharing ja Ausführungsplan v$sql Stored Outlines/Profiles vorhanden und aktiviert? nein regelbasierter Optimizer (Obsolete) Literale ersetzen Wahl des Optimizers

TABLE ACCESS (BY ROWID) SELECT * FROM messdaten WHERE rowid = :b1; OPERATION OPTION OBJECT_NAME ---------------- -------------- ------------ SELECT STATMENT TABLE ACCESS BY ROWID A A

db_file_multiblock_read_count TABLE ACCESS (FULL) SELECT count(*) FROM messdaten; OPERATION OPTION OBJECT_NAME --------------------------------------------- SELECT STATMENT TABLE ACCESS FULL MESSDATEN db_file_multiblock_read_count

Ergebnis ist bereits sortiert! INDEX (RANGE SCAN) SELECT * FROM messdaten WHERE id BETWEEN 20 AND 30 ORDER BY id; Plan ----------------------------------- SELECT STATEMENT INDEX RANGE SCAN messdaten_pk Ergebnis ist bereits sortiert! Logisch Physikalisch

Aber tolle Buffer Hit Ratio Nested Loop A B SELECT * FROM a, b WHERE a.id = b.id Plan ------------------------- SELECT STATEMENT NESTED LOOP TABLE ACCESS FULL A TABLE ACCESS FULL B Aber tolle Buffer Hit Ratio

Hash Joins Plan ----------------------- SELECT STATEMENT HASH JOIN TABLE ACCESS FULL A TABLE ACCESS FULL B Hash usw. usw. usw. ... A B Hauptspeicher

Optimizer Um einen optimalen Plan aus Operationen heraus zu bauen, benötigt der Cost Based Optimizer Informationen darüber, wie viele Rows in jedem Schritt erzeugt werden Die Anzahl der Rows entspricht etwa den Kosten für die Operation Der Optimizer wählt den Plan, der durch Kombination verschiedener Operationen die niedrigsten Kosten verursacht Die Schätzung erfolgt an Hand der zyklisch generierten, in der DB gespeicherten „Statistiken“ Min,max Werte Anzahl unterschiedlicher Werte (Number Distinct Value) Sortiertheit der Datenblöcke über einen Index (Clustering Factor) Unterstützt durch Annahmen aus dem physikalischen Layout, z. B. alle Partitionen etwa gleich groß Stimmen die Statistiken nicht, wird ein falscher Plan ausgewählt

Ausführungspläne & CBO Ausführungsplan SQL /*+ HINTS */ USE_NL... FULL... INDEX... Objekt Statistiken OPTIMIZER_MAX_PERMUTATIONS OPTIMIZER_INDEX_COST_ADJ System Statistiken init.ora

Agenda Funktionsweise der Oracle Cost Based Optimizers (CBO) Oracle Tabellen Statistiken Anpassung der Oracle Statistiken an HORIZON Fazit und Ausblick

ORACLE Tabellen Statistiken BATCH B BATCH C BATCH A BATCH D ORACLE gather_stats() (Zeit)

SOA Tabellen Statistiken - pro Service BATCH B POST PRE BATCH C BATCH A PRE BATCH D POST Batch unabh.Statistiksammlung (Zeit)

Agenda Funktionsweise der Oracle Cost Based Optimizers (CBO) Oracle Tabellen Statistiken Anpassung der Oracle Statistiken an HORIZON Fazit und Ausblick

Tabellen Klassifizierung technische Tabellen wie JBF00* ZVBAS_MESSAGE_ID_T01 KONTO_SPUMSATZ_A_T01 KONTO_SPPROTOKOLL_A_T01 PROD01_KONTO_* ZVBAS_LOBTABREF_T01 JoJo Tabellen täglich Auslagerung Dictionary Dyn. Sampling

Technische Lösung CRONACLE DAILY MONTHLY DICTIONARY ZVBAS

Technische Lösung Protokolltabelle Samplesize Zustand Dyn. Sampling Global Stale Partition Stale Max Runtime Gruppenzuordnung Cronacle Gruppe Tabellenname ------ ------------------------ DAILY ZVBAS_PAYMENTMSGFILE_T01 DAILY ZVBAS_SWAP_T01 DAILY KONTO_SPUMSATZ_T01 (StoredProc)

Agenda Funktionsweise der Oracle Cost Based Optimizers (CBO) Oracle Tabellen Statistiken Anpassung der Oracle Statistiken an HORIZON Fazit und Ausblick

Resümee SOA Statistiken Zentrale Steuerung Dynamic Sampling Restart Qualität

Automatische Laufzeitbegrenzung und -überwachung Zukunft Automatische Laufzeitbegrenzung und -überwachung Reporting  DBMS Portal Berücksichtigung der Statistikanforderungen bereits im Datenmodell Einsatz außerhalb von HORIZON

Fragen? – Diskussion? Lars Eisenblatt coniatos AG Kreuzberger Ring 13 65205 Wiesbaden Lars.Eisenblatt@coniatos.de Wolfgang Graf FIDUCIA IT AG ITB2DC Wolfgang.Graf@fiducia.de

Ihr IT-Partner Vielen Dank