Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz...

54
Internas der “neuen” 11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Transcript of Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz...

Page 1: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Internas der “neuen” 11gR2 Datenbank

Bianca StolzSystemberaterin

ORACLE Deutschland B.V. & Co. KG

Hannover, 14. Dezember 2010

Page 2: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

<Insert Picture Here>

Agenda

• Komprimierung in der Datenbank• Tabellen und Indizes

• DBMS_COMPRESSION in 11.2

• Transparente Parallelisierung

• Statistiken für den Optimizer• Inkrementelle Statistiken

• Korrelierende Spalten

• Spaltenfunktionen

• Volume Management mit ASM

Page 3: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

<Insert Picture Here>

Agenda

• Komprimierung in der Datenbank• Tabellen und Indizes

• DBMS_COMPRESSION in 11.2

• Transparente Parallelisierung

• Statistiken für den Optimizer• Inkrementelle Statistiken

• Korrelierende Spalten

• Spaltenfunktionen

• Volume Management mit ASM

Page 4: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

• Strukturierte Daten• Numbers• Character

• Semistrukturierte Daten• Dokumente• Spreadsheets

• XML• …

• Unstrukturierte Daten• Media• Bilddaten• Medizinische Daten

• Backups• RMAN Backups• Data Pump Exports

• Netzwerk Verkehr• Data Guard

Umfang Advanced Compression Option

OLTP Table Compression

SecureFiles

Page 5: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Prinzip der OLTP Table CompressionDuplikate erkennen

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

Januar

Januar

Januar

Januar

Januar

Januar

Januar

Februar

Februar

Februar

Februar

Februar

Kunde 1

Kunde 2

Kunde 3

Kunde 1

Kunde 2

Kunde 3

Kunde 1

Kunde 1

Kunde 3

Kunde 3

Kunde 2

Kunde 1

500.00

480.00

360.00

475.00

600.00

555.00

200.00

365.00

510.00

120.00

800.00

380.00

Januar

Februar

Kunde 1

Kunde 2

Kunde 3

1

2

3

4

5

Page 6: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

500.00

480.00

360.00

475.00

600.00

555.00

200.00

365.00

510.00

120.00

800.00

380.00

1

1

1

1

1

1

1

2

2

2

2

2

3

4

5

3

4

5

3

3

5

5

4

3

Alle Duplikate mit Referenzen ersetzenÜber Symboltabelle im Header

Januar

Februar

Kunde 1

Kunde 2

Kunde 31

2

3

4

5

• Reduzierung von I/O

• Größere Anzahl an Buffer Hits

• Erhöhter Durchsatz

• Höhere CPU-Auslastung• Hauptanteil für erhöhtenDurchsatz

Page 7: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

SAP-Kunde in Deutschland: Ergebnisse

258 GB65%46%296 GB34%554 GB837 GB

Gesamt-Einsparung

Oracle 11.2

Gesamt-Einsparung Reorg und

Komprimierung

Oracle 11.2

Einsparung durch

Komprimierung

Oracle 11.2

DB-Größe nach

Komprimierung

Oracle 11.2

Einsparung durch

Reorganisation

Oracle 10.2

DB-Größe nach

Reorganisation

Oracle 10.2

DB-Größe vor Reorganisation

Oracle 10.2

• Reorganisation der 10.2-Datenbank spart ca. 280 GB Speicherplatz ein� Ausgangsgröße für das Upgrade auf 11.2

• Tabellen- und Indexkomprimierung geben weitere 260 GB Speicherplatz frei

• Äußerst geringer Performance Impact (weniger I/O)

Page 8: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

• COMPATIBLE ≥ 11.2• Erweiterung des COMPRESS-Schalters

• COMPRESS [BASIC | FOR (OLTP | (QUERY | ARCHIVE) (LOW | HIGH))]

• FOR BASIC ���� Default EE Table Compression• FOR OLTP ���� OLTP + Direct Loads (OLTP Table Compression)

• Anlegen neue Tabelle• CREATE TABLE t1 COMPRESS FOR OLTP;

• CREATE TABLESPACE ...;

• Kompression für existierende Tabelle einschalten• ALTER TABLE t2 COMPRESS FOR OLTP;

• Startet keine Kompression für existierende Datensätze

• Existierende Tabelle komprimieren• ALTER TABLE … MOVE COMPRESS; � pctfree = 0

• ALTER TABLE … MOVE COMPRESS FOR OLTP; � pctfree = 10

• ALTER TABLE … MOVE PARTITION … COMPRESS

Verwendung der Table Compression

Page 9: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

• Komprimieren der zehn größten Tabellen• 80/20 Regel – 20% der Tabellen verbrauchen 80% des Speicherplatzes

• Bessere Kompressionsraten mit größeren Blöcken• Höhere Wahrscheinlichkeit mehrfacher gleicher Werte

• B-Tree Index Kompression• Index validieren und INDEX_STATS analysieren• INDEX_STATS.OPT_CMPR_COUNT � liefert Präfix-Länge N• INDEX_STATS.OPT_CMPR_PCTSAVE � % Einsparung• CREATE INDEX … ON … (…) COMPRESS N;

• Bitmap Indexes sind per se hoch komprimiert• Gut geeignet für niedrige und mittlere Kardinalität

Table Compression Best practices

Page 10: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Auswirkung der Präfix-Länge

1 A X 1 A 1 ROWID01

1 B 2 ROWID02

2 A 3 ROWID03

1 A Y 1 B 4 ROWID04

3 C 5 ROWID05

3 C 6 ROWID06

3 D 7 ROWID07

1 B X 1 A 1 ROWID08

1 A 2 ROWID09

1 C 3 ROWID10

3 A 4 ROWID11

3 C 5 ROWID12

3 C 6 ROWID13

Präfix Suffix

30 Werteentfernt

30 Werteentfernt

Page 11: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

1 A X 1 A 1 ROWID01

1 A X 1 B 2 ROWID02

1 A X 2 A 3 ROWID03

1 A Y 1 B 4 ROWID04

1 A Y 3 C 5 ROWID05

6 ROWID06

1 A Y 3 D 7 ROWID07

1 B X 1 A 1 ROWID08

2 ROWID09

1 B X 1 C 3 ROWID10

1 B X 3 A 4 ROWID11

1 B X 3 C 5 ROWID12

6 ROWID13

Präfix Suffix

15 Werteentfernt

15 Werteentfernt

Auswirkung der Präfix-Länge

Page 12: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Index-Komprimierung in SAP

• Optimalen Komprimierungsfaktor der Indizes auf derTabelle GLPCA ermitteln

• Optimalen Komprimierungsfaktor der Indizes auf den 10 größten Tabellen ermitteln

• Default Parallelisierungsgrad von 4 für Analyse und Komprimierung

• SAP Note 1109743

exec ind_comp.get_column('GLPCA');exec ind_comp.get_column('GLPCA');

exec ind_comp.get_column(10);exec ind_comp.get_column(10);

Page 13: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

LOB-Implementierung mit SecureFiles

• Deutliche schnellere Zugriffszeiten im Vergleich mit den bisherigen LOBs in SAP-Umgebungen

• Höherer Transaktions-Durchsatz für SAP-Cluster-Tabellen, besonders in Verbindung mit RAC

• Voraussetzung zum Komprimieren von SAP-Tabellen, die LOB-Daten enthalten (z.B. Cluster-Tabellen)

SAP VBDATA Throughput (Insert/Read/Delete)

0

0,5

1

1,5

2

2,5

1 2 4 8 16 32 64

row size in KB

Performance

Improvement Factor

LONGs (9.2,10.2) LOBs (10.2,11.2) Securefiles 11.2

Page 14: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

• LOBs als SecureFiles• Deduplication, Compression und Encryption können unabhängigvoneinander eingesetzt oder kombiniert werden

• Table Compression unabhängig von LOB CompressionCREATE TABLE docs (

doc_id NUMBER,

doc BLOB)

LOB(doc) STORE AS SECUREFILE

(TABLESPACE lob_tbs COMPRESS)

COMPRESS FOR OLTP TABLESPACE example;

• LOW, MEDIUM und HIGH Compression Level erfordern sowohl für SecureFiles als auch RMAN die Advanced Compression Option

• Verwendete Algorithmen bei RMAN• BZIP2 als BASIC Level, ohne Extrakosten• ZLIB für schnelleres Backup

Compression für LOBs und RMAN

Page 15: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Komprimierung und Data Pump

• Komprimierung von Metadaten seit Oracle 10g verfügbar

• Oracle 11g komprimiert auch Tabellendaten beim Export• Kein Dekomprimieren vor dem Import nötig

• Syntax:COMPRESSION={ALL|DATA_ONLY|[METADATA_ONLY]|NONE}

• Tabellen- und Metadaten in einem Zug komprimiert• Komprimierte Daten werden direkt auf die Platte geschrieben, weshalb weniger Plattenplatz erforderlich ist

• Interne Tests: Größe des Dump Files bis zu 75% reduziert

• Transparent zur Applikation• Alle Data Pump Funktionen für komprimierte Dump Files verfügbar

Page 16: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Network Compression (Data Guard)

• Netzwerkverkehr zwischen Primary und Standby Datenbank komprimieren

• Netzwerke mit niedriger Bandbreite (<100Mbps) • 15-35% weniger Zeit für den Transfer von 1GB Datenerforderlich

• Nutzung von Bandbreite um bis zu 35% reduziert

• Netzwerke mit hoher Bandbreite(>100 Mbps)• Komprimierung reduziert nicht die Übertragungszeit• Nutzung von Bandbreite um bis zu 35% reduziert

• Syntax:LOG_ARCHIVE_DEST_3='SERVICE=denver SYNC COMPRESSION=ENABLE|[DISABLE]’

Page 17: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Deferred Segment Creation

• Leere Objekte (Tabellen, Indizes, Partitionen) nehmenkeinen Speicherplatz ein

• Beschleunigt den Teil der Datenbankinstallation für SAP• Rund 50-60 aller R/3-Objekte bleiben leer

• Ungefähr 50.000-100.000 Objekte eines BW-Systems sind leer

• Anlegen von leeren Tabellen, LOBs, Indizes und Partitionen erfolgt wesentlich schneller

Artikel in der deutschen DBA Community:http://www.oracle.com/global/de/community/dbadmin/tipps/segments_on_demand/index.html

Page 18: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Dictionary Only Add Column

• Neue Spalten mit Default-Wert und NOT NULL Constraint• Default-Werte für NOT NULL-Spalten werden nur im Data Dictionary gespeichert

• Beim Anfügen einer neuen Spalte werden die Default-Werte nicht in die existierenden Datensätze eingefügt

• Kommt besonders bei SAP-Upgrades zum Tragen• Findet auch in SAP BW bei Cube Changes Anwendung

• Cube Changes können um mehr als 10x schneller werden

• 10- bis 20-fache Verbesserung der Performance inSAP BW während des Anlegens neuer Spalten

• Spart Speicherplatz ein

Page 19: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Direct NFS

• NFS ist im Oracle Datenbank-Kernel eingebaut• NFS V3 NAS Protokoll

• Implementation von gleichzeitigem Direct I/O• Umgehung von Caches, die Betriebssystem-gesteuert sind

• Verringerung der Memory-Nutzung

• Eliminierung von Betriebssystem-Sperren zum Schreiben von Daten

• Unterstützt bis zu 4 parallele Netzwerkpfade

• Automatische Lastverteilung über alle Pfade

• Keine redundanten HBAs oder Bonding von Netzwerkkarten erforderlich (simples Ethernet)

• Unterstützung von RAC

Page 20: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

DBMS_COMPRESSION

• „Neuer“ Compression Advisor kann alle in Oracle verfügbaren Komprimierungsvarianten berechnen• Konstanten neben Bezeichnung auch als Nummern definiert (s. Tabelle)

• Package enthalten im Skript $ORACLE_HOME/rdbms/admin/dbmscomp.sql(Implementation als SYS User)

Beispiel in der DBA Community:http://www.oracle.com/global/de/community/dbadmin/tipps/compadv/index.html

Page 21: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Prozedur GET_COMPRESSION_RATIO

SET serveroutput ONDECLAREb_cmp PLS_INTEGER;b_uncmp PLS_INTEGER;row_cmp PLS_INTEGER;row_uncmp PLS_INTEGER;cmp_ratio NUMBER;cmp_str VARCHAR2(200);

BEGINDBMS_COMPRESSION.GET_COMPRESSION_RATIO (SCRATCHTBSNAME => 'PART', OWNNAME => 'PART', TABNAME => 'BESTELLUNG_NOCOMP',PARTNAME => NULL,COMPTYPE => DBMS_COMPRESSION.COMP_FOR_OLTP,BLKCNT_CMP => b_cmp,BLKCNT_UNCMP => b_uncmp,ROW_CMP => row_cmp,ROW_UNCMP => row_uncmp,CMP_RATIO => cmp_ratio, COMPTYPE_STR => cmp_str);

dbms_output.put_line('# Blocks compressed => '|| b_cmp);dbms_output.put_line('# Blocks uncompressed => '|| b_uncmp);dbms_output.put_line('Ratio => '|| cmp_ratio);dbms_output.put_line('Komprimierungstyp => '|| cmp_str);END;

Page 22: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

<Insert Picture Here>

Agenda

• Komprimierung in der Datenbank• Tabellen und Indizes

• DBMS_COMPRESSION in 11.2

• Transparente Parallelisierung

• Statistiken für den Optimizer• Inkrementelle Statistiken

• Korrelierende Spalten

• Spaltenfunktionen

• Volume Management mit ASM

Page 23: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Funktionsweise von Automated DOP

SQLStatement

Statement wird geparsedOptimizer ermitteltExecution Plan

Statement wirdseriell ausgeführt

Statement wirdparallel ausgeführt

Optimizer bestimmtidealen DOP

Geschätzte Ausführung istgrößer als Schwellwert

Tatsächlicher DOP= MIN(Default DOP, idealer DOP)Geschätzte Ausführung ist

kleiner als Schwellwert

PARALLEL_MIN_TIME_THRESHOLD

Page 24: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Was bewirkt Auto DOP?

• Aktivierung von Auto DOP erfolgt manuell

• Auto DOP wirkt auf das einzelne Statement, wenn einzeitlicher Schwellwert überschritten wird

• Die Größe von Auto DOP basiert auf den Kostenschätzungen des Optimizers für SCANs• Systemauslastung, konkurrierende Zugriffe und andereFaktoren bleiben unberücksichtigt

• Eingrenzung des maximalen Parallelisierungsgradesmöglich• Verhindert ein “Überlaufen” des Systems an Parallel Server Processes

Page 25: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Parallel Statement Queuing

SQLStatements

Statement wird geparsedOracle ermittelt

automatisch den DOP

Wenn genügend Parallel Server vorhanden sind, wird

das Statement sofortausgeführt

Wenn zu wenig Parallel Server vorhandensind, landet das Statement in der Queue

128163264

8

FIFO Queue

Sind genügend Parallel Server vorhanden, wirderstes Statement aus der

Queue ausgeführt

128

163264

Page 26: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Parallel Statement Queuing steuern

•PARALLEL_SERVERS_TARGET gibt an, wie viele Parallel Servers verfügbar sind, bevor das Queueing genutzt wird• Default 4 * PARALLEL_THREADS_PER_CPU * CPU_COUNT• Absolute Grenze wird mit PARALEL_MAX_SERVERS festgelegt

PX Server 1 PX Server 1 bisbis 64 64 stehenstehenffüürr Queries Queries zurzur VerfVerfüügunggung,,bevorbevor einein Statement in Statement in eineeine Queue Queue gestelltgestellt wirdwird

InsgesamtInsgesamt verfverfüügbaregbarePX ServerPX Server

88

6464

160160

8 CPU System

CPU_COUNT

PARALLEL_SERVERS_TARGET

PARALLEL_MAX_SERVERS

Page 27: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Level der Systemauslastung

PARALLEL_SERVERS_TARGET

Anzahl Server-Prozesse

128

0

256PARALLEL_MAX_SERVERS

Annahme PARALLEL_DEGREE_LIMIT = 16 (mit 32 Prozessen)

Spielraum fürparallele Statements

100% Auslastung

Seriell und im Hintergrund

Concurrency-Level

PARALLEL_DEGREE_LIMIT

Page 28: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

In-Memory Parallel Execution

SQLStatement

Größe der Tabellefeststellen

Tabelle ist sehrgroß

Immer Direct Read von Disk durchführen

Tabelle ist Kandidat fürIn-Memory Parallel

Execution

Fragmente der Tabellewerden in den Buffer Cache der Nodes

eingelesen

Nur Parallel Server derselben RAC Node

greifen auf einFragment zu

In den Buffer Cache einer beliebigen Node

einlesen

Tabelle ist sehrklein

Page 29: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Parameter im Bereich Parallelisierung

Parameter Default Beschreibung

PARALLEL_DEGREE_LIMIT CPU Höchster Parallelisierungs-grad, der bei Auto DOP einesetzt werden kann

PARALLEL_DEGREE_POLICY MANUAL Steuert den Einsatz von Auto DOP, Queuing und In-Memory Parallel Execution

PARALLEL_MIN_TIME_THRESHOLD AUTO(*) Legt den zeitlichenSchwellwert zurAusführung einesStatements fest, bevorAuto DOP eingesetzt wird

PARALLEL_SERVERS_TARGET 4*CPU_COUNT* PARALLEL_THREADS

_PER_CPU * ACTIVE_INSTANCES

Definiert die Anzahl von parallelen Prozessen, mitdenen parallele Statements ausgeführt werden, bevordas Queueing genutzt wird

(*) aktuell liegt der Standardwert bei 10s

Page 30: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Parameter-Hierarchie

1. PARALLEL_DEGREE_POLICY = MANUAL

a) Keiner der neuen Parameter wird genutzt

2. PARALLEL_DEGREE_POLICY = LIMITED

a) PARALLEL_MIN_TIME_THRESHOLD = 10s

b) PARALLEL_DEGREE_LIMT = CPU

3. PARALLEL_DEGREE_POLICY = AUTO

a) PARALLEL_MIN_TIME_THRESHOLD = 10s

b) PARALLEL_DEGREE_LIMT = CPU

c) PARALLEL_SERVERS_TARGET = 4 * CPU_COUNT *

PARALLEL_THREADS_PER_CPU (* ACTIVE_INSTANCES)

PX Features:

• Auto DOP

• Queuing

• In-Memory

PX Features:

• Auto DOP (eingeschränkt)

PX Features:

• Keine Featuresaktiviert

Page 31: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Veränderungen 11.2.0.1 zu 11.2.0.2

• Ab 11.2.0.2 muss einmal CALIBRATE_IO ausgeführtwerden, damit Auto DOP wirksam werden kann

• Statement Queueing ist jetzt Bestandteil des Resource Managers• Statt einer Queue für alle User gibt es je Consumer Group eine eigene Queue

• Dazu müssen allerdings entsprechende Management Directives gesetzt werden, sonst gibt es wieder nur eineeinzige Queue

• Als neuer Parameter kann für eine Consumer Group der prozentuale Anteil an PARALLEL_SERVERS_TARGETgesetzt werden

Page 32: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Calibrate_IO

• Nutzt Oracle Libraries statt beliebige Last-Generatoren

• Bestandteil des Ressourcen Managers

• Wird aus der DB heraus aufgerufen

SET SERVEROUTPUT ON

DECLARE

lat INTEGER;

iops INTEGER;

mbps INTEGER;

BEGIN

--DBMS_RESOURCE_MANAGER.CALIBRATE_IO (<DISKS>,

<MAX_LATENCY>, iops, mbps, lat);

DBMS_RESOURCE_MANAGER.CALIBRATE_IO (2, 10, iops, mbps, lat);

DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops);

DBMS_OUTPUT.PUT_LINE ('latency = ' || lat);

DBMS_OUTPUT.PUT_LINE ('max_mbps = ' || mbps);

END; /

http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_resmgr.htm#CJGHGFEA

Page 33: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Parallel Execution pro Consumer Group

Page 34: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Parallel Statement QueuingSQL Monitor im Enterprise Manager

Awaiting screen shot from EM

Uhrsymbolzeigt einwartendesStatement

an

Klick auf SQL ID für weitereInformationen

Page 35: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Wait Event zeigt an, dass das Statement am Anfangder Queue

steht

Parallel Statement QueuingSQL Monitor im Enterprise Manager

Page 36: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

<Insert Picture Here>

Agenda

• Komprimierung in der Datenbank• Tabellen und Indizes

• DBMS_COMPRESSION in 11.2

• Transparente Parallelisierung

• Statistiken für den Optimizer• Inkrementelle Statistiken

• Korrelierende Spalten

• Spaltenfunktionen

• Volume Management mit ASM

Page 37: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Inkrementelle globale Statistiken

Sales Sales TableTable

May 22May 22ndnd 20082008

May 23May 23rdrd 20082008

May 18May 18thth 20082008

May 19May 19thth 20082008

May 20May 20thth 20082008

May 21May 21stst 20082008

Sysaux Tablespace

S1

S2

S3

S4

S5

S6

1. Partitions-Statistikenwerden gesammelt & zusammengefasst

Global Statistic

2. Globale Statistikenwerden durch die Aggregation von

Partitionsinformationenerzeugt

Page 38: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Sales Sales TableTable

May 22May 22ndnd 20082008

May 23May 23rdrd 20082008

May 18May 18thth 20082008

May 19May 19thth 20082008

May 20May 20thth 20082008

May 21May 21stst 20082008

Sysaux Tablespace

May 24th 2008May 24th 2008

3. Eine neue Partition wird hinzugefügt & Daten fließen ein

S7 4. Statistiken für neuePartition sammeln

S1

S2

S3

S4

S5

S6

5. Partitions-Statistikdaten ausSYSAUX anfordern

Global Statistic

6. Generierung der globalenStatistiken durch Aggregation

der neuen Partitions-Statistiken

Inkrementelle globale Statistiken

Page 39: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Welche Faktoren nutzt der Optimizer?

• Viele Faktoren haben einen Einfluss auf die Berechnungen des Optimizers• Größe des Objekts

• Anzahl der SCANs

• Statistiken

• ...

• Kardinalität bestimmt ebenfalls die Berechnungen füreinen optimalen Ausführungsplan

• Inkorrekte Kardinalität führt zu• Ungünstigen Zugriffsmethoden

• Ungünstigen Join-Typen

• Schlechten Join-Reihenfolgen

Page 40: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Beispiel: Korrelierende Spalten vorher

SLIVERC320MERCREDSLKMERCRED911PORSCHESILVER530xiBMWBLACK530xiBMWRED530xiBMWColorModelMake

Vehicles table

SELECT ..FROM..

WHERE model = ‘530xi’

AND make = ‘BMW’;

SELECT ..FROM..

WHERE model = ‘530xi’

AND make = ‘BMW’;

• Drei Datensätze existieren

• Der Optimizer hingegen erwartetnur einen Datensatz

SILVER530xiBMW

BLACK530xiBMW

RED530xiBMW

ColorModelMake

Page 41: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Erweiterte Statistiken nutzen

• Extended Stats* auf den Spalten model und make anlegen

SELECT dbms_stats.create_extended_stats(

NULL,’VEHICLES’,’(MODEL,MAKE)’) FROM dual;

EXEC dbms_stats.gather_table_stats(NULL,’VEHICLES’);

SELECT column_name, num_distinct, histogram

FROM user_tab_col_statistics

WHERE table_name = ’VEHICLES‘;

* Stats auf korrelierenden Spalten funktionieren nur in Verbindung mit Gleichheits-Prädikatenund IN-Listen

Page 42: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Beispiel: Korrelierende Spalten nachher

SLIVERC320MERCREDSLKMERCRED911PORSCHESILVER530xiBMWBLACK530xiBMWRED530xiBMWColorModelMake

Vehicles table

SELECT ..FROM..

WHERE model = ‘530xi’

AND make = ‘BMW’;

SELECT ..FROM..

WHERE model = ‘530xi’

AND make = ‘BMW’;

• Der Optimizer kann nun die Kardinalität korrekt bestimmen

SILVER530xiBMW

BLACK530xiBMW

RED530xiBMW

ColorModelMake

Page 43: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Funktionen auf SpaltenwertenSELECT *

FROM customers

WHERE UPPER(CUST_LAST_NAME) = ‘SMITH’;

• Der Optimizer kann nicht wissen, wie sich die Funktion auf die einzelnen Werte in der Spalte auswirkt

• Per Default schätzt der Optimizer die Kardinalität auf 1% dervorhandenen Zeilen

SELECT count(*) FROM customers; 55500 rows

1% von 55500 555 Zeilen

Page 44: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Extended Statistics – Weitere Details

• DBMS_STATS Package• CREATE_EXTENDED_STATS

• Manuelles Festlegen von Spaltengruppen für Stats

• SHOW_EXTENDED_STATS_NAME

• Zeigt den vom System generierten Namen der Spaltengruppean

• DROP_EXTENDED_STATS

• Löschen einer Spaltengruppe und aller zugehörigen Statistiken

• Monitoring• USER_STAT_EXTENSIONS

• USER_TAB_COL_STATISTICS

• Beispiel als Oracle by Example:http://st-curriculum.oracle.com/obe/db/11g/r1/prod/perform/multistats/multicolstats.htm

Page 45: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Kardinalität über SQL Monitor prüfen

SQL Monitor ist das einfachste Mittel, die geschätzte und tatsächliche Anzahl zurückgegebener Zeilen bei parallelerAusführung miteinander zu vergleichen

Page 46: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

<Insert Picture Here>

Agenda

• Komprimierung in der Datenbank• Tabellen und Indizes

• DBMS_COMPRESSION in 11.2

• Transparente Parallelisierung

• Statistiken für den Optimizer• Inkrementelle Statistiken

• Korrelierende Spalten

• Spaltenfunktionen

• Volume Management mit ASM

Page 47: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Datenhaltung ohne und mit ASM

0010 0010 0010 0010 0010

0010 0010 0010 0010 0010

Tabellen

Tablespaces

Dateien

File System

ASM

Volumes

Disk Groups

• Bisher nur für Datenbank-Dateien:

Page 48: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Ohne ASM:

1. Benötigte Storage-Kapazitätermitteln

2. LVM und Dateisysteminstallieren

3. I/O-Verteilung konfigurieren

4. Logical Volumes erzeugen

5. File System anlegen

6. Oracle Software installieren

Mit ASM:

1. Benötigte Storage-Kapazitätermitteln

2. Oracle Software installieren

3. Disk Groups definieren(Auto Disk Discovery)

Vom File System bis zur Datenbank

Page 49: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Integriertes Striping und Mirroring

• Stripe And Mirror Everything (SAME)• Striping über alle Platten in der Plattengruppe (I/O optimal)

• Integrierte Spiegelung gegen Datenverlust

• NORMAL: 2-fache Spiegelung

• HIGH: 3-fache Spiegelung

• EXTERNAL: Spiegelung über andere Werkzeuge(Hardware RAID)

• Spiegelung von Extents statt von ganzen Dateien

• Automatisches online Rebalancing in Hintergrund

Page 50: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

• Eine ASM Failure Group ist von derselben Hardware abhängig

• Zuweisung von Failure Groups manuell oder automatisch

• Speichern redundanter Kopieneines Extents

• Sicherung gemeinsam genutzter Hardware-Ressourcen (z.B. Controller) durch Redundanz

Disk Group 1

Spiegelung über Failure Groups

Failure Group 1

Controller 1

Failure Group 2

Controller 2

DB Server

Page 51: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

3rd Party FSApplikation

11.2: ASM zur Verwaltung aller Daten

Automatic Storage Management (ASM)

ASM Instance managing

Oracle DB Files

ASM Cluster and Single Node File System (ACFS)

Database RAC

ACFS Snapshot

ASM Files

ASM Dynamic Volume Manager (ADVM)

Dynamic Volumes

ACFS FSOracle Bin

3rd PartyFS

DB DatafilesDB DatafilesDB DatafilesDB DatafilesDB DatafilesDB Datafiles

OCR & Voting FilesOCR & Voting Files

ASM

Disk

Group

Kapitel 5 im Automatic Storage Management Administrator‘s Guide:http://download.oracle.com/docs/cd/E11882_01/server.112/e16102/toc.htm

Page 52: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Storage Provisioning für ACFS

• Dynamic Volumes und das ACFS können unterVerwendung der ASM Features erweitertwerden• Striping

• Mirroring

• Rebalancing

• Für Monitoring und Policies kann derEnterprise Manager genutzt werden

+DATA/dga/vol1

Primary ASM File ExtentSecondary ASM file Extents

ACFS File System: /usr1

Linux: /dev/asm/dga/vol1 Win: \\.\asm_dgname_volname

ACFS file AACFS file B

MirroredMirrored

1

1

Page 53: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

Vorteile von Oracle ASM

• Verringerte Komplexität• “Eingebautes” I/O Tuning (SAME)

• Automatisches Rebalancing und Disk Discovery

• Verwaltung mit bekannten Werkzeugen (SQL, EM)

• Verfügbar für alle Arten von Files (Datenbank und andere)

• Weniger geplante Ausfallzeiten für Datenbank und Applikationen• ASM Rolling Upgrade Verfahren möglich

• Disks online hinzufügen oder wegnehmen

• Integrierte Storage-Lösung aus einer Hand

• Sowohl als Single Node als auch als Cluster kostenfrei

Page 54: Internas Oracle 11gR2 20101214 BSt - doag.org · Internasder“neuen”11gR2 Datenbank Bianca Stolz Systemberaterin ORACLE Deutschland B.V. & Co. KG Hannover, 14. Dezember 2010

[email protected]

Übersicht der 11.2.0.2 New Features in der deutschen DBA Community:http://www.oracle.com/global/de/community/dbadmin/tipps/11gr22/index.html