Oracle Datenbank - Tuning



Ähnliche Dokumente
Vorlesung Datenbanken II B Nachklausur

Datenbanken II B: DBMS-Implementierung Klausur

Datenbanken II B: DBMS-Implementierung Musterlösung zur Klausur

Tabellen und Indizes Reorganisieren, aber wann?

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS Metadaten

Oracle 9i Einführung Performance Tuning

DOAG Regionaltreffen TABLE REORG. Klaus Reimers. Leiter Beratung & Entwicklung, ORDIX AG, Paderborn

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - WS Metadaten. Andreas Schmidt Metadaten 1/17

Oracle 9i Einführung Performance Tuning

IV. Datenbankmanagement

SQL (Structured Query Language) Schemata Datentypen

Cassandra Query Language (CQL)

DOAG Index Tuning

Oracle Index Tuning &Admin

Oracle Datenbank - Recovery

Index- und Zugriffsstrukturen für. Holger Brämer, 05IND-P

Data Dictionary for Oracle

Erzeugung und Veränderung von Tabellen

Oracle 10g Einführung

Physische Datenbankdefinition in. Arthur Bauer

Gliederung. 1) Speicherplatz-Zuordnung und -Verwaltung 2) Indizes 3) Explain Plan 4) Join-Operationen 5) Der Optimizer 6) Parallelisieren

Indexing und Performance Tuning

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs])

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

MIN oder MAX Bildung per B*Tree Index Hint

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

Ich muss gestehen, initial hätte ich mir auch so eine Syntax gewünscht. Bei genauerer Betrachtung stelle ich aber fest:

Relationales Datenbanksystem Oracle

Kurs. Teil 7 UNDO-Management. Universität Hannover. Agenda. Einführung. Nutzung RBS Oracle 9i Einführung Performance Tuning.

Oracle: Abstrakte Datentypen:

ORACLE DATENBANKOPTIMIERUNG (BASICS)

IBM DB2 für Linux/Unix/Windows Monitoring und Tuning

Architektur moderner Datenbanksysteme

Referenzielle Integrität SQL

Referentielle Integrität

Tuning von PostGIS mit Read- Only-Daten von OpenStreetMap

Oracle 9i Einführung Performance Tuning

3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

SQL: statische Integrität

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

MySQL Cluster und MySQL Proxy

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

DB2 SQL, der Systemkatalog & Aktive Datenbanken

Prozedurale Datenbank- Anwendungsprogrammierung

SQL structured query language

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

Hands-on für UI5-Anwendung auf HANA

Üben von DDL und DML. Ergebnis:

Urs Meier Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

10 Gründe warum Ihr Index nicht verwendet wird

PostgreSQL und memcached

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Referentielle Integrität

Create-Table-Befehl. CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung }

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Erzeugen von Constraints

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

MySQL Performance Tuning für Entwickler

Oracle 9i Einführung. Performance Tuning. Kurs. Teil 8 Indizes. Universität Hannover. Installation. Index-Typen. Anhang.

quick documentation Inhalt Datenmodellierung

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel Michael Kluge (michael.kluge@tu-dresden.

Oracle Indexing Primer

Online Table Shrink. Freigabe von ungenutztem Speicherplatz. Autor: Ralf Durben, ORACLE Deutschland GmbH

SQL Performance - Tips Do's & Don'ts

Automatisierte Datenmigration mit dynamischen SQL

PostgreSQL in großen Installationen

Index Rebuild. DOAG Konferenz , Nürnberg DOAG Konferenz , Nürnberg Martin Hoermann Martin Hoermann

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

Aufbau einer Oracle Datenbank Tablespace, Arten von Dateien

Performance Tuning

Naxtron GmbH Schlosstalstrasse Winterthur. Subject. New Features Oracle 9i Architecture

1. Die Vorbereitungen

3. Architektur eines DBS (Oracle)

Oracle 9i Einführung Performance Tuning

Datenbanken II. Datenbankobjekte. von Werner Hahn, 05IND-P - 1 -

DOAG Demo Kino: Advisors, Monitoring Werkzeuge in der Datenbank Ulrike Schwinn Business Unit Database Oracle Deutschland B.V.

Oracle 9i Einführung. Performance Tuning. Kurs. Teil 10 Stored Outlines. Universität Hannover. Eigenschaften. Migration. Erstellen mit OEM.

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne

SQL. Fortgeschrittene Konzepte Auszug

7 Die Reorganisation von DB2

Oracle 9i Einführung. Performance Tuning. Kurs. Teil 9 Sortiervorgänge. Universität Hannover. Sortiervorgänge. Migration. Konfiguration.

Die Datenmanipulationssprache SQL

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Partitioning mit Oracle Text 9i

6. Datenintegrität. Integritätsbedingungen

Johannes Ahrends Geschäftsführer CarajanDB GmbH CarajanDB GmbH

Einstieg in das SQL- und Datenbanktuning Loblied auf den Tabellen-Index!

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

... Tabellen verwalten

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

Datenbanken: Datenintegrität.

Labor 3 - Datenbank mit MySQL

Allgemeines. veröffentlicht unter lizensiert unter. Creative Commons BY-SA 3.0. XQuery in MS SQL Server 2005

Transkript:

Oracle Datenbank - Tuning H.-G. Hopf Georg-Simon-Ohm Fachhochschule Nürnberg Datenbank Tuning / 1 Η. G.Hopf / 10.04.2003

Inhaltsverzeichnis Tuning Datenstruktur-Ebene SQL-Befehls-Ebene Anwendungsebene DB-Server-Ebene Datenbank-Ebene Datenbank Tuning / 2 Η. G.Hopf / 10.04.2003

Inhaltsverzeichnis Tuning Datenstruktur-Ebene SQL-Befehls-Ebene Anwendungsebene DB-Server-Ebene Datenbank-Ebene Datenbank Tuning / 3 Η. G.Hopf / 10.04.2003

Tuning Durch einen Abstimmungsvorgang soll erreicht werden, dass» auf einer bestimmten Rechnerplattform» mit einem bestimmten Lastprofil» mit einem bestimmten Datenstrukturprofil eine optimale Leistung erreicht wird. Datenbank Tuning / 4 Η. G.Hopf / 10.04.2003

Tuning Ein gut abgestimmtes System liegt vor, wenn» eine bestimmte Anwendung» mit einem bestimmten Lastprofil» mit möglichst wenig Systemressourcen eine optimale Performance liefert Datenbank Tuning / 5 Η. G.Hopf / 10.04.2003

Tuning Tuning Ebenen» Rechnersystem» Datenstruktur» SQL-Operationen» Anwendung» DB-Server» Datenbank Datenbank Tuning / 6 Η. G.Hopf / 10.04.2003

Inhaltsverzeichnis Tuning Datenstruktur-Ebene SQL-Befehls-Ebene Anwendungsebene DB-Server-Ebene Datenbank-Ebene Datenbank Tuning / 7 Η. G.Hopf / 10.04.2003

Datenstruktur-Ebene Ableitung des relationalen Schemas semantisches Datenmodell anwendungsspezifische Randbedingungen Transformation relationales Schema technische Randbedingungen Datenbank Tuning / 8 Η. G.Hopf / 10.04.2003

Datenstruktur-Ebene Optimierungsmethoden» Denormalisierung» Partitionierung»Cluster» Sequence» Snapshot / materialized view Datenbank Tuning / 9 Η. G.Hopf / 10.04.2003

Datenstruktur-Ebene Empfehlungen» Index (unique) für Primary Key» Unique Constraint für Alternate Keys» Index für Foreign Keys» weitere Indizes nach Bedarf Datenbank Tuning / 10 Η. G.Hopf / 10.04.2003

Datenstruktur-Ebene Guidelines to Creating an Index» Create an index, if: The column is used frequently in the WHERE clause or in a join condition. The column contains a wide range of values. The column contains a large number of null values. Two or more columns are frequently used together in a WHERE clause or a join condition. The table is large and most queries are expected to retrieve less than 2 4% of the rows. Datenbank Tuning / 11 Η. G.Hopf / 10.04.2003

Datenstruktur-Ebene Guidelines to Creating an Index» Do not create an index if: The table is small The columns are not often used as a condition in the query Most queries are expected to retrieve more than 2 4% of the rows The table is updated frequently Datenbank Tuning / 12 Η. G.Hopf / 10.04.2003

Inhaltsverzeichnis Tuning Datenstruktur-Ebene SQL-Befehls-Ebene Anwendungsebene DB-Server-Ebene Datenbank-Ebene Datenbank Tuning / 13 Η. G.Hopf / 10.04.2003

SQL-Befehls-Ebene Der Optimierer entscheidet über die Auswertung eines SQL-Befehls Optimierer-Methoden» Regel-Methode» Statistische Methode» Statistische Methode und Hinweise Kriterien» angesprochene DB-Objekte» WHERE-Bedingung Datenbank Tuning / 14 Η. G.Hopf / 10.04.2003

SQL-Befehls-Ebene Stürner, 1993 Datenbank Tuning / 15 Η. G.Hopf / 10.04.2003

SQL-Befehls-Ebene Statistische Optimierer-Methoden» Methoden COMPUTE STATISTICS ESTIMATE STATISTICS DELETE STATISTICS»DB-Objekte TABLE,, COLUMN, INDEX, CLUSTER Schema» Ergebnisse verfügbar im Data Dictionary user_tables, dba_tables user_tab_columns, dba_tab_columns user_indexes, dba_indexes Datenbank Tuning / 16 Η. G.Hopf / 10.04.2003

SQL-Befehls-Ebene dba_tables OWNER NOT NULL VARCHAR2(30) TABLE_NAME NOT NULL VARCHAR2(30) TABLESPACE_NAME VARCHAR2(30) CLUSTER_NAME VARCHAR2(30) IOT_NAME VARCHAR2(30) PCT_FREE NUMBER PCT_USED NUMBER INI_TRANS NUMBER MAX_TRANS NUMBER INITIAL_EXTENT NUMBER NEXT_EXTENT NUMBER MIN_EXTENTS NUMBER MAX_EXTENTS NUMBER PCT_INCREASE NUMBER FREELISTS NUMBER FREELIST_GROUPS NUMBER LOGGING VARCHAR2(3) BACKED_UP VARCHAR2(1) NUM_ROWS NUMBER BLOCKS NUMBER EMPTY_BLOCKS NUMBER AVG_SPACE NUMBER CHAIN_CNT NUMBER AVG_ROW_LEN NUMBER AVG_SPACE_FREELIST_BLOCKS NUMBER NUM_FREELIST_BLOCKS NUMBER DEGREE VARCHAR2(10) INSTANCES VARCHAR2(10) CACHE VARCHAR2(5) TABLE_LOCK VARCHAR2(8) SAMPLE_SIZE NUMBER LAST_ANALYZED DATE PARTITIONED VARCHAR2(3) IOT_TYPE VARCHAR2(12) TEMPORARY VARCHAR2(1) NESTED VARCHAR2(3) BUFFER_POOL VARCHAR2(7) Datenbank Tuning / 17 Η. G.Hopf / 10.04.2003

SQL-Befehls-Ebene dba_tab_columns OWNER NOT NULL VARCHAR2(30) TABLE_NAME NOT NULL VARCHAR2(30) COLUMN_NAME NOT NULL VARCHAR2(30) DATA_TYPE VARCHAR2(30) DATA_TYPE_MOD VARCHAR2(3) DATA_TYPE_OWNER VARCHAR2(30) DATA_LENGTH NOT NULL NUMBER DATA_PRECISION NUMBER DATA_SCALE NUMBER NULLABLE VARCHAR2(1) COLUMN_ID NOT NULL NUMBER DEFAULT_LENGTH NUMBER DATA_DEFAULT LONG NUM_DISTINCT NUMBER LOW_VALUE RAW(32) HIGH_VALUE RAW(32) DENSITY NUMBER NUM_NULLS NUMBER NUM_BUCKETS NUMBER LAST_ANALYZED DATE SAMPLE_SIZE NUMBER CHARACTER_SET_NAME VARCHAR2(44) Datenbank Tuning / 18 Η. G.Hopf / 10.04.2003

SQL-Befehls-Ebene dba_indexes OWNER NOT NULL VARCHAR2(30) INDEX_NAME NOT NULL VARCHAR2(30) INDEX_TYPE VARCHAR2(12) TABLE_OWNER NOT NULL VARCHAR2(30) TABLE_NAME NOT NULL VARCHAR2(30) TABLE_TYPE VARCHAR2(11) UNIQUENESS VARCHAR2(9) TABLESPACE_NAME VARCHAR2(30) INI_TRANS NUMBER MAX_TRANS NUMBER INITIAL_EXTENT NUMBER NEXT_EXTENT NUMBER MIN_EXTENTS NUMBER MAX_EXTENTS NUMBER PCT_INCREASE NUMBER PCT_THRESHOLD NUMBER INCLUDE_COLUMN NUMBER FREELISTS NUMBER FREELIST_GROUPS NUMBER PCT_FREE NUMBER LOGGING VARCHAR2(3) BLEVEL NUMBER LEAF_BLOCKS NUMBER DISTINCT_KEYS NUMBER AVG_LEAF_BLOCKS_PER_KEY NUMBER AVG_DATA_BLOCKS_PER_KEY NUMBER CLUSTERING_FACTOR NUMBER STATUS VARCHAR2(8) NUM_ROWS NUMBER SAMPLE_SIZE NUMBER LAST_ANALYZED DATE DEGREE VARCHAR2(40) INSTANCES VARCHAR2(40) PARTITIONED VARCHAR2(3) TEMPORARY VARCHAR2(1) GENERATED VARCHAR2(1) BUFFER_POOL VARCHAR2(7) Datenbank Tuning / 19 Η. G.Hopf / 10.04.2003

SQL-Befehls-Ebene Statistische Optimierer-Methoden» Erzeugung von Statistiken wird explizit angestoßen ANALYZE TABLE <tabellenname> COMPUTE STATISTICS ANALYZE TABLE <tabellenname> ESTIMATE STATISTICS ANALYZE INDEX <indexname> ESTIMATE STATISTICS DBMS_UTILITY.ANALYZE_SCHEMA ( <schemaname>, <analysemethode> Datenbank Tuning / 20 Η. G.Hopf / 10.04.2003

SQL-Befehls-Ebene Statistische Optimierer-Methoden Aktivieren einer Methode» auf Instanzen-Ebene INIT.ORA-Parameter: optimizer_mode = choose/rule» auf Session Ebene ALTER SESSION SET optimizer_mode = choose/rule» auf Befehls-Ebene SELECT /*+rule*/ * FROM <tabellenname> WHERE... Datenbank Tuning / 21 Η. G.Hopf / 10.04.2003

Inhaltsverzeichnis Tuning Datenstruktur-Ebene SQL-Befehls-Ebene Anwendungsebene DB-Server-Ebene Datenbank-Ebene Datenbank Tuning / 22 Η. G.Hopf / 10.04.2003

Anwendungs-Ebene Optimierungsmethoden» Konfigurationsart Dedicated Server (DS) Konfiguration: Anwendung mit großer Datenbanklast Multi-Threaded Server (MTS) Konfiguration: Online-Anwendung» prozedurale Integritätsbedingungen» gespeicherte PL/SQL-Programme Datenbank Tuning / 23 Η. G.Hopf / 10.04.2003

Inhaltsverzeichnis Tuning Datenstruktur-Ebene SQL-Befehls-Ebene Anwendungsebene DB-Server-Ebene Datenbank-Ebene Datenbank Tuning / 24 Η. G.Hopf / 10.04.2003

DB-Server-Ebene Optimierungsmethoden» Konfiguration des DB-Cache Größe DB-Block-Puffer v_$sysstat Größe des shared-pool-bereichs v_$librarycache v_$rowcache Datenbank Tuning / 25 Η. G.Hopf / 10.04.2003

DB-Server-Ebene Stürner, 1993 Datenbank Tuning / 26 Η. G.Hopf / 10.04.2003

DB-Server-Ebene Stürner, 1993 Datenbank Tuning / 27 Η. G.Hopf / 10.04.2003

Inhaltsverzeichnis Tuning Datenstruktur-Ebene SQL-Befehls-Ebene Anwendungsebene DB-Server-Ebene Datenbank-Ebene Datenbank Tuning / 28 Η. G.Hopf / 10.04.2003

Datenbank-Ebene Optimierungsprinzipien» REDO-LOG-Dateien sollten auf die schnellsten Festplatten» der System-Tablespace sollte dem Data- Dictionary vorbehalten bleiben» temporäre Segmente sollten in einen eigenen Tablespace» Rollback Segmente sollten in einen eigenen Tablespace» Rollback Segmente sollten mit Speicherungsparametern versehen werden» Daten- und Index-Segmente des gleichen DB- Objekts sollten in verschiedene Tablespaces auf unterschiedlichen Festplatten Datenbank Tuning / 29 Η. G.Hopf / 10.04.2003