Internas der “neuen” 11gR2 Datenbank
Bianca StolzSystemberaterin
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
<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
• 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
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
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
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)
• 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
• 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
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
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
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);
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
• 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
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
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]’
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
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
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
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
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;
<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
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
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
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
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
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
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
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
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
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
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
Parallel Execution pro Consumer Group
Parallel Statement QueuingSQL Monitor im Enterprise Manager
Awaiting screen shot from EM
Uhrsymbolzeigt einwartendesStatement
an
Klick auf SQL ID für weitereInformationen
Wait Event zeigt an, dass das Statement am Anfangder Queue
steht
Parallel Statement QueuingSQL Monitor im Enterprise Manager
<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
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
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
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
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
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
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
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
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
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
<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
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:
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
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
• 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
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
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
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
Ü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
Top Related