SlideShare a Scribd company logo
1 of 71
Download to read offline
Komprimierung 
in der Datenbank 
Strukturierte und unstrukturierte Daten, 
Backup, Data Pump, Netzwerk, etc. 
Ulrike Schwinn 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
Business Unit Database 
Oracle Deutschland B.V. & Co KG 
Dezember 2014 
Oracle Confidential – Internal/Restricted/Highly Restricted
Agenda 
Komprimierung in der Datenbank - Vorteile 
Strukturierte Daten 
Index Key Compression, Advanced Index Compression 
1 
2 
3 
Backup 
Unstrukturierte Daten 
Noch mehr Features in 12c 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
4 
5 
Oracle Confidential – Internal/Restricted/Highly Restricted 2 
6
Komprimierung in der Datenbank 
• Einsatzgebiete 
– DWH-Anwendungen und für „Mixed Operations“ 
– Content Management Anwendungen 
– Backup-Szenarien 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
– Netzwerk Engpässe 
• Vorteile 
– Einsparung von Plattenplatz (Storage) 
–Weniger I/Os 
– Effiziente Memory Nutzung und Nutzung der Netzwerkbandbreite
COMPRESSION TYP Verwendung Lizenzierung 
Basic Compression Bulk Load/Direct Path 
Operationen 
Enterprise Edition 
Advanced Row Compression OLTP Applikationen d.h. 
jegliche DML Operationen 
Enterprise Edition mit Advanced 
Compression Option (kurz ACO) 
Features im Überblick I 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
Hybrid Columnar Compression 
– Warehouse Level 
Bulk Load in Warehouse 
Umgebungen 
Nur auf spezieller Storage: 
Exadata, ZFS, Pillar 
Hybrid Columnar Compression 
– Archive Level 
Inaktive Daten/ Partitionen Nur auf spezieller Storage: 
Exadata, ZFS, Pillar 
Advanced LOB Compression/ 
Deduplication 
Nicht relationale Daten im 
OLTP oder DWH Umfeld 
Enterprise Edition mit ACO
Features im Überblick II 
COMPRESSION TYP Verwendung Lizenzierung 
Index Key Compression Indizes auf Tabellen für 
OLTP und DWH 
Enterprise Edition 
Advanced Network (12c) / 
Data Guard Redo Transport 
Compression 
Alle Umgebungen Enterprise Edition mit ACO 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
RMAN/Data Pump Backup 
Compression 
Alle Umgebungen Abhängig vom Algorithmus: 
Enterprise Edition mit/ohne ACO 
Advanced Index Compression 
neu in 12.1.0.2 
Indizes auf Tabellen für 
OLTP und DWH 
Enterprise Edition mit ACO
Agenda 
Komprimierung in der Datenbank - Vorteile 
Strukturierte Daten 
Index Key Compression, Advanced Index Compression 
1 
2 
3 
Backup 
Unstrukturierte Daten 
Noch mehr Features in 12c 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
4 
5 
Oracle Confidential – Internal/Restricted/Highly Restricted 6 
6
Komprimierung von strukturierten Daten 
Vorteile 
• Komprimierung der Daten auf Datenblock Ebene 
• Mehr Performance für Abfragen auf grossen Datenmengen 
–Weniger I/Os 
– Effiziente Buffer Cache Nutzung 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
• Transparent für Applikationen 
– Keine Änderungen erforderlich
Komprimierung von strukturierten Daten 
Tabellendaten 
• Komprimierung einstellbar auf … 
Tabellen, Partition, Tablespace Ebene 
Ab Oracle 9i Release 2 Advanced Compression Option (kurz ACO) 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
• Bulk Loads/Direct Loads 
• Konventionelles DML wird nicht 
komprimiert! 
• Für alle DML-Operationen
Direct Load Operationen 
Stand 11g 
• Direct Load Operationen 
– Direct Path Load beim SQL*Loader, CREATE TABLE AS SELECT, 
Paralleler INSERT, Serieller INSERT mit APPEND Hint und Subquery 
Klausel 
• Vorteile von Direct Loads 
– Direct Load Compression, Einsatz von NOLOGGING ... 
• Syntax 
CREATE TABLE sales_history(…) COMPRESS [BASIC]; 
• Einschränkungen 
– Keine Unterstützung für INSERT, UPDATE Operationen, Nicht für Tabellen 
mit mehr als 255 Spalten, Kein DROP COLUMN möglich 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Direct Load Operationen 
Stand 11g Release 2: Neuer Hint 
• Hint APPEND_VALUES nun auch für INSERT Statements mit 
VALUES-Klausel 
: 
prod_ids NumList; 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
BEGIN 
FOR i IN 1..1000 LOOP 
prod_ids(i) := i; 
END LOOP; 
FORALL j IN 200..1000 
INSERT /*+ APPEND_VALUES */ INTO comp_tab 
VALUES (prod_ids(j),sysdate,...); 
:
Empty Compressed Block 
Uncompressed Block 
Compressed Block teilweise 
Compressed Block 
Für alle DML Operationen mit ACO 
Ablauf 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
Block 
Legend 
Header Data 
Free Space 
Uncompressed Data 
Compressed Data
Syntax – OLTP Compression 
Stand 11g Release 2 
•Möglich auf Table, Partition und Tablespace Ebene 
• Beispiele (Achtung Syntaxänderung in 12c) 
CREATE TABLE sales_history(…) 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
COMPRESS FOR OLTP 
CREATE TABLE sales_part 
(saleskey number,…, region varchar2(10)) 
PARTITION BY LIST (region) 
(PARTITION northwest VALUES ('NORTHWEST'), 
PARTITION southwest VALUES ('SOUTHWEST'), 
PARTITION northeast VALUES ('NORTHEAST') COMPRESS FOR OLTP, …)
Eigenschaften 
• System-Anforderungen 
– Redo Size (UPDATE, INSERT) 
– CPU Anforderungen (UPDATE, INSERT) 
– Buffer Cache Reduktion 
• Performance-Steigerung für Queries 
• Performance von DML Statements variiert 
• Änderungen an Ausführungsplänen (Statistiken) möglich !!! 
• Einschränkungen: Spaltenanzahl (in 11g), IOTs, Cluster Table, External 
Tables, Chained Rows (Fix ab 11.2.0.3 mit MOS 9707965.8) 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Administration und Monitoring 
• Komprimierungseinstellung ändern mit ALTER TABLE COMPRESS 
oder MOVE COMPRESS (Unterschied!) 
• Beispiel: ALTER TABLE MOVE PARTITION COMPRESS 
• DBA_TABLES 
TABLE_NAME COMPRESS COMPRESS_FOR 
----------------------- -------- ------------ 
CUSTOMERS DISABLED 
CUST_COMP ENABLED BASIC 
CUST_OLTP ENABLED OLTP 
• DBA_SEGMENTS SEGMENT_NAME MB 
-------------------- ---------- 
CUST_OLTP 14 
CUST_COMP 21 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Monitoring Speicherplatzverbrauch 
: 
Unformatted Blocks = 0 
F_25 Blocks = 0 
F_50 Bytes = 0 
F_50 Blocks = 0 
(*) Analyse mit DBMS_SPACE.SPACE_USAGE 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
F_75 Blocks = 2 
F_100 Blocks= 122 
Full Blocks = 750 
:
Tipps 
• Anwendung der Komprimierung 
– bei Tabellen mit grösstem Speicherplatzverbrauch 
• Speicherplatzeinsparung immer abhängig von 
– den Daten und dem Ladevorgang 
• Komprimierungsratio (unkomprimierten/komprimierten Daten) variiert 
• Bessere Ratio durch: 
– Verwendung von größeren DB Blöcken 
– Erhöhung der Daten-Redundanz z.B. durch Laden von sortierten Daten 
• Performance ist abhängig von den Abfragen 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Hybrid Columnar Compression (kurz HCC) 
BLOCK HEADER 
CU HEADER 
C1 
BLOCK HEADER BLOCK HEADER BLOCK HEADER 
C2 
Logical Compression Unit (CU) 
C3 C4 C5 C5 C6 C7 C8 
• Neue Kombination der Anordnung nach Spalten und Zeilen 
⇒höhere Compression Ratio möglich 
• Verschiedene Level 
• Designed für Daten, die nicht häufig verändert werden und Low Concurrency 
• Komprimierung nur während Bulk Loads! 
• Verfügbar für Storage wie Exadata, ZFS oder Pillar 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Hybrid Columnar Compression (HCC) 
• COMPRESS FOR QUERY für DWH 
CREATE TABLE mass(...) COMPRESS FOR QUERY [LOW|HIGH] 
• COMPRESS FOR ARCHIVE für Langzeitspeicherung und Daten, 
CREATE TABLE mass(...) COMPRESS FOR ARCHIVE [LOW|HIGH] 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
die nicht mehr verändert werden 
• Verwendung von unterschiedlichen Komprimierungs-Algorithmen 
und unterschiedlichen CU Größen pro Level 
• Ratio ist höher bei Archive als bei Query 
• Unterschiedliche Partitionen mit unterschiedlichen Compression
Compression Advisor 
• Einsatz des Package DBMS_COMPRESSION ab 11gR2 
• Ohne zusätzliche Installation für alle Editionen 
• Unterstützt partitionierte/nicht partitionierte Tabellen 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
• Funktionen: 
– Erstellt temporäre Objekte um Komprimierungsratio zu berechnen 
– Analysiert Zeilen auf Komprimierungstyp 
– Einsatz auch für HCC Komprimierung 
• Vor 11gR2: Download DBMS_COMP_ADVISOR von OTN 
– http://www.oracle.com/technetwork/database/options/compression/compression-advisor-095705.html
Compressiontyp 
• Mit Tabellenname und ROWID 
SELECT dbms_compression.get_compression_type('SH', 
'NOCOMP','AAASOVAAEAAADDoAB8') Rate 
FROM dual; 
RATE 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
---- 
1 
• wobei 
– 1: No compression 
– 2: OLTP Compression
Release2 Compression Advisor: Kompressiontyp 
declare 
b_cmp PLS_INTEGER; 
: 
begin 
DBMS_COMPRESSION.GET_COMPRESSION_RATIO ( 
SCRATCHTBSNAME=> 'USERS', 
OWNNAME => 'SH', 
TABNAME => 'SALES', 
PARTNAME => 'SALES_Q1_1999', 
COMPTYPE => 2, 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
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('RATIO => '|| cmp_ratio); 
dbms_output.put_line('CMPTYPE => '|| cmp_str); 
:
Ergebnis 
: 
BLKCNT_CMP => 115 
BLKCNT_UNCMP => 306 
RATIO => 2,6 
CMPTYPE => „Compress For OLTP“ 
: 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Compression Advisor für HCC 
• Kein HCC Storage notwendig 
• Nutzung der Prozedur DBMS_COMPRESSION. 
GET_COMPRESSION_RATIO mit 
– 4: High compression level for query operations 
– 8: Low compression level for query operations 
– 16: High compression level for archive operations 
– 32: Low compression level for archive operations 
• Voraussetzungen: 
– 11g Release 2, Mindestgröße der Tabelle: 1 000000 Zeilen 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
• Änderungen für Basic, OLTP und HCC Compression 
• BASIC CREATE TABLE sales_history(…) 
ROW STORE COMPRESS BASIC; 
Neue Syntax in 12c 
CREATE TABLE sales_history(…) 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
• OLTP 
• Beispiel für HCC 
ROW STORE COMPRESS ADVANCED; 
CREATE TABLE sales_history(…) 
COLUMN STORE COMPRESS FOR QUERY HIGH;
Erweiterungen in 12c 
• Aufhebung des 255 Spalten Limits für OLTP Compression 
• DBMS_COMPRESSION Advisor jetzt auch für Securefile LOBs 
begin 
DBMS_COMPRESSION.GET_COMPRESSION_RATIO ( 
SCRATCHTBSNAME => 'USERS', 
TABOWNER => 'SH', 
TABNAME => 'BASIC_LOB', 
LOBNAME => 'TEXT', 
PARTNAME => '', 
COMPTYPE => 128, 
… 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Neue Online Operationen in 12c 
• Online Operationen für MOVE PARTITION 
• Weniger Sperren 
• Grundlage für ILM Operationen 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
• Beispiele 
ALTER TABLE sales_big MOVE PARTITION sales_q4_2001 
ROW STORE COMPRESS ADVANCED ONLINE; 
ALTER TABLE sales_big MOVE PARTITION sales_q4_2001 
TABLESPACE example ONLINE;
Compression Advisor in 12c 
• Geänderte Parameternamen und Konstanten bzw. Werte 
(siehe Handbuch PL/SQL Users Guide) 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Konstanten in 12c für Compression Advisor 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Beispiel: Compression Advisor Ratio für Partition 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 29
Agenda 
Komprimierung in der Datenbank - Vorteile 
Strukturierte Daten 
Index Key Compression, Advanced Index Compression 
1 
2 
3 
Backup 
Unstrukturierte Daten 
Noch mehr Features in 12c 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
4 
5 
Oracle Confidential – Internal/Restricted/Highly Restricted 30 
6
Index Komprimierung allgemein 
• Out of the Box Komprimierung bei Bitmap Indizes 
• Normale B*Tree Indizes mit Index Key Compression seit jeher 
– Nutzbar für nonunique Single Column oder unique Multi Column 
– Indexschlüssel: Aufteilung in Suffix – eindeutigen Teil 
Präfix – wiederholende Anteile 
CREATE INDEX ON t1(col1, col2, col3, col4) 
COMPRESS integer zahl; 
ALTER INDEX REBUILD [ONLINE] COMPRESS integer zahl; 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
– Starke Reduzierung der Index Leaves 
• "COMPRESS integer zahl" ist die Anzahl der Präfixspalten
Index Key Compression - Beispiel 
Arzt Zahnarzt AAAPvCAAFAAAAFaAAa 
Restaurant Italienisch AAAPvCAAFAAAAFaAAa 
Arzt Internist AAAPvCAAFAAAAFaAAl 
Restaurant Bayerisch AAAPvCAAFAAAAFaAAm 
Restaurant Indisch AAAPvCAAFAAAAFaAAq 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
P0 Restaurant 
P1 Arzt 
P1 Zahnarzt AAAPvCAAFAAAAFaAAa 
P0 Italienisch AAAPvCAAFAAAAFaAAa 
P1 Internist AAAPvCAAFAAAAFaAAl 
P0 Bayerisch AAAPvCAAFAAAAFaAAm 
P0 Indisch AAAPvCAAFAAAAFaAAq
Index Analyse 
• Güte des Index 
ANALYZE INDEX basic_lob_kat_ort VALIDATE STRUCTURE; 
– ANALYZE INDEX Kommando weder ONLINE noch PARALLEL 
SELECT name, blocks, br_blks,lf_blks, opt_cmpr_pctsave 
as save, opt_cmpr_count as key 
FROM index_stats; 
NAME BLOCKS BR_BLKS LF_BLKS SAVE KEY 
----------------- ---------- ---------- ---------- ----- -------- 
BASIC_LOB_KAT_ORT 768 3 643 46 2 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
• Resultat 
• Alternative: MOS Note 989186.1
Advanced Index Compression 
• Neu in 12c mit ACO 
• Speziell für Indizes, die keine guten Kandidaten für Index Key 
Compression sind 
–Wie z.B. Indizes mit keinen oder nur wenigen doppelten Werten 
• Kann Partitionsweise verwendet werden 
• Komprimierung auf Blockebene 
• Nicht supported für: Bitmap indexes, IOTs und Single Column Unique 
Indizes 
• Compression Advisor Erweiterung 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Advanced Index Compression 
• Index mit Eigenschaft anlegen über CREATE oder ALTER INDEX 
CREATE INDEX hr.emp_mndp_ix ON hr.employees(manager_id, department_id) 
COMPRESS ADVANCED LOW; 
ALTER INDEX hr.emp_mndp_ix COMPRESS ADVANCED LOW; 
• Monitoren SQL> select index_name, compression from user_indexes; 
INDEX_NAME COMPRESSION 
------------------------------ ------------- 
EMP_NAME_IX DISABLED 
EMP_MNDP_IX ADVANCED LOW …. 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Compression Advisor und Advanced Index Compression 
BEGIN 
dbms_compression.get_compression_ratio ( 
scratchtbsname => 'USERS', 
ownname => 'SH', 
objname => 'B_CUST_POSTAL', 
subobjname => '', 
comptype => dbms_compression.COMP_INDEX_ADVANCED_LOW, 
blkcnt_cmp => l_blkcnt_cmp, 
blkcnt_uncmp => l_blkcnt_uncmp, 
row_cmp => l_row_cmp, 
row_uncmp => l_row_uncmp, 
cmp_ratio => l_cmp_ratio, 
comptype_str => l_comptype_str, 
subset_numrows => dbms_compression.COMP_RATIO_MINROWS, 
objtype => dbms_compression.OBJTYPE_INDEX); ... 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Agenda 
Komprimierung in der Datenbank - Vorteile 
Strukturierte Daten 
Index Key Compression, Advanced Index Compression 
1 
2 
3 
Backup 
Unstrukturierte Daten 
Noch mehr Features in 12c 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
4 
5 
Oracle Confidential – Internal/Restricted/Highly Restricted 37 
6
Data Pump 
• Bisher: Metadata Komprimierung (Default) mit 
expdp compression = METADATA_ONLY ... 
• Neu: Advanced Compression 
expdp compression = ALL | DATA_ONLY ... 
– Tabellendaten-Komprimierung während des Data Pump Exports 
– Vollständige Inline Operation bei Export und Import 
– Funktioniert mit komprimierten und unkomprimierten Daten 
– Applikationstransparent: keine Einschränkung der Data Pump Funktionen 
– Größenreduzierung bis zu 75% 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Testergebnisse 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
Quelle: 
An Oracle White Paper May 2011 
Case Study 
Oracle Advanced Compression Helps Global Fortune 500 Company Meet Storage Savings 
Initiative
Neuerung in 12c: Data Pump 
• Import gibt Komprimierung vor - unabhängig von der 
Komprimierungseigenschaft der Tabelle im Export bzw. des Ziel Tablespaces 
• Beispiel: Tabelle mit COMPRESS BASIC Einstellung 
impdp dumpfile=sh.dmp directory=home 
tables=sh.cust_copy 
TRANSFORM = TABLE_COMPRESSION_CLAUSE:"COMPRESS BASIC" 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Neuerungen in 12c: External Table Compression 
• Seit 10g können mit External Tables Daten aus der Datenbank in eine 
binäre Datei geschrieben werden. 
• Neu ist die Verwendung von Compression Syntax um Daten zu 
komprimieren, bevor sie in der binären Datei abgelegt werden. 
CREATE TABLE sh.ext_sales_products_basic 
ORGANIZATION EXTERNAL 
( TYPE oracle_datapump 
DEFAULT DIRECTORY home 
ACCESS PARAMETERS (compression enabled basic) 
LOCATION ('sales_prod.exp_low')) 
REJECT LIMIT UNLIMITED 
AS SELECT p.prod_name, s.quantity_sold, s.cust_id 
FROM sh.sales s JOIN sh.products p USING (prod_id); 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
RMAN Komprimierung 
• Vor 11g 
– RMAN Backup mit und ohne Komprimierung möglich 
– Syntax für komprimiertes Backup 
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE; 
• Mit Advanced Compression Option stehen weitere Algorithmen zur 
Verfügung 
RMAN> CONFIGURE COMPRESSION ALGORITHM 'BASIC|LOW|MEDIUM|HIGH'; 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
RMAN Komprimierung 
• Komprimierung des Backupsets, bevor auf Platte geschrieben wird 
• Funktioniert mit komprimierten und unkomprimierten Daten 
• 3 neue Algorithmen mit Advanced Compression Option 
NAME ALGORITHM_DESCRIPTION COMPATIBILITY 
------ -------------------------------------------- ------------ 
BASIC good compression ratio 9.2.0.0.0 
LOW maximum possible compression speed 11.2.0.0.0 
MEDIUM balance between speed and compression ratio 11.0.0.0.0 
HIGH maximum possible compression ratio 11.2.0.0.0 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
RMAN Tests 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
Quelle: 
An Oracle White Paper May 2011 
Case Study 
Oracle Advanced Compression Helps Global Fortune 500 Company Meet Storage Savings 
Initiative
Agenda 
Komprimierung in der Datenbank - Vorteile 
Strukturierte Daten 
Index Key Compression, Advanced Index Compression 
1 
2 
3 
Backup 
Unstrukturierte Daten 
Noch mehr Features in 12c 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
4 
5 
Oracle Confidential – Internal/Restricted/Highly Restricted 45 
6
Unstrukturierte Daten 
• Ab 11g Komprimierung für SecureFiles möglich 
• Keine Programmierung notwendig 
• Speicherplatzeinsparungen abhängig von 
Datenformaten (Word,HTML,XML,JPEG etc.) 
• Performancegewinn abhängig von Queries 
• Nutzbar auch im 11gR2 Database Filesystem 
• Unabhängig von Table Compression 
• Wichtig: Alle Programmierschnittstellen bleiben gleich! 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Beispiele 
• Aktivierung durch Storage-Klausel und/oder Parameter 
DB_SECUREFILE[PERMITTED,NEVER,FORCE,ALWAYS,IGNORE] 
CREATE TABLE bilder (...bild BLOB) 
LOB (bild) STORE AS SECUREFILE 
(COMPRESS HIGH|MEDIUM|LOW ...) 
CREATE TABLE media_secure (id NUMBER,... lob1 BLOB) LOB (lob1) 
STORE AS SECUREFILE 
(DEDUPLICATE COMPRESS HIGH) 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
Secure hash
Tipps 
• Monitoring der Einstellungen in USER_/DBA_LOBS 
TABLE_NAME COMPRE DEDUPLICATION 
------------------------ ------ --------------- 
COMP_LOB HIGH NO 
UNCOMP_LOB NO NO 
• Größe bestimmen in 
– DBA_SEGMENTS oder DBMS_SPACE (auch für SecureFiles) 
– Kein Compression Advisor 
• Ergebnis ist abhängig von der Größe und dem eingesetzten Format 
• Bereits vorkomprimiertes Format ja/nein? 
• Z.B. .doc (unkomp) : hoch .docx (komp) : niedrig 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Unterschiedliche Formate 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Tipps 
• Separater Tablespace für LOB Speicherung mag sinnvoll sein 
• Platzeinsparung durch Komprimierung bei Blockwahl beachten 
• LOB-Speicherparameter wie STORAGE IN ROW beachten 
• Migration über Neuladen oder mit DBMS_REDEFINITION 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Compression Advisor und Securefile Compression 
begin 
DBMS_COMPRESSION.GET_COMPRESSION_RATIO ( 
SCRATCHTBSNAME => 'USERS', 
TABOWNER => 'SH', 
TABNAME => 'BASIC_LOB', 
LOBNAME => 'TEXT', 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
PARTNAME => '', 
COMPTYPE => 128, 
BLKCNT_CMP => b_cmp, 
BLKCNT_UNCMP => b_uncmp, 
LOBCNT => lob_cnt, 
CMP_RATIO => cmp_ratio, 
COMPTYPE_STR => cmp_str); 
...
Weitere Themen 
• Was ist mit UTL_COMPRESS Package? 
– Geeignet für LOBs, RAW und BFILEs 
– Programmierung nötig 
• Was sind die Unterschiede zu Hardware Storage Compression? 
– Nicht „Database Aware“ 
– Komprimierung auf Datei Ebene 
– Nicht „Buffer Cache Aware“ 
– Queries müssen vorher Dekomprimierung durchführen 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Noch mehr Speicherplatz einsparen ... 
• Deferred Segment Creation 
• Zero Size UNUSABLE Index 
• External Tables mit Pre-Processing 
• Dictionary-Only Add Column mit Default Wert (12c) 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Agenda 
Komprimierung in der Datenbank - Vorteile 
Strukturierte Daten 
Index Key Compression, Advanced Index Compression 
1 
2 
3 
Backup 
Unstrukturierte Daten 
Noch mehr Features in 12c 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
4 
5 
Oracle Confidential – Internal/Restricted/Highly Restricted 54 
6
Netzwerk Compression 
• Bisher: Redo Compression beim Data Guard Transport 
• Erweiterung der Komprimierung in Netzwerk Umfeld 
• Vorteil 
–Verminderung des Datenvolumens 
–Erhöhung der Netzwerk Performance 
• Neuer SQLNET Parameter zur Einstellung 
SQLNET.COMPRESSION = on 
SQLNET.COMPRESSION_LEVELS =(high) 
SQLNET.COMPRESSION_THRESHOLD = 1024 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
ILM in der Oracle Database 
• ILM Integration in den Datenbank Kern 
– Heat Map: automatisches Monitoring und Klassifikation (Hot/Cold Data) 
– Automatic Data Placement /Optimization: Policies, automatisiert in der 
Datenbank ausgeführt 
• ... zusätzlich Erweiterungen in Bereichen wie ... 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
– Kompression 
– Partitionierung
Das Konzept: Heat Map Tracking 
• Eine Heat Map liefert Zugriffsinformationen auf die 
Daten 
• Ebenen 
Segment: Welche Tabellen/Partitionen werden wie 
Active 
Frequent 
HOT 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
– verwendet? 
– Block: Welche Blöcke wurden wann verändert? 
• Umfassend 
– Überwacht Reads ,Writes, Index und Full Table Scans 
– Ausschluss der Operationen Statistics Gathering, DDLs usw. 
• Performant 
Access 
Occasional 
Access 
Dormant 
COLD
Grundsätzliches 
• Dynamisch einschaltbar über einen Parameter 
ALTER SYSTEM SET heat_map=on scope=both; 
• Administration und Monitoring über 
– V$View und Data Dictionary Views 
– Packages 
– Enterprise Manager Cloud Control 12c 
• Lizenzierung: EE mit Advanced Compression Option 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
ORDERS 
Überwachen über … 
• DBA_HEATMAP_TOP_TABLESPACES 
• DBA_HEATMAP_TOP_OBJECTS 
• DBA_HEAT_MAP_SEGMENT 
• DBA_HEAT_MAP_SEGMENT_HISTOGRAM 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
• V$HEAT_MAP_SEGMENT 
• DBMS_HEAT_MAP
Heat Map im Enterprise Manager 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Automatische Datenoptimierungen 
• Vor: Aktivierung der Heat Map 
• Umfassen folgende Aktionen 
– Komprimieren von Daten 
Bewegen von Daten (auch Storage Tiering ) 
Less 
Active 
Active Historical 
– • Komprimieren in Abhängigkeit von Bedingungen wie 
– Zeit nach Erzeugung (CREATION), Zugriffsverhalten (ACCESS), 
Änderung an Daten (MODIFICATION) oder eigene Bedingung 
• Implementierung über Policies mit CREATE/ALTER Befehlen 
• Lizenzierung: EE mit Advanced Compression Option 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Automatische Segment Komprimierung 
• Für Tabellen (Vererbung auf Partitionen) 
ALTER TABLE sh.sales 
ILM ADD POLICY 
row store compress advanced SEGMENT 
ORDERS 
AFTER 1 DAY OF NO MODIFICATION; 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
• Für einzelne Partitionen 
ALTER TABLE sh.sales MODIFY PARTITION sales_q4_2000 
ILM ADD POLICY 
row store compress advanced SEGMENT 
AFTER 1 DAY OF NO MODIFICATION;
Automatische ROW Komprimierung 
• Ein Block wird komprimiert, wenn alle Zeilen im 
Block die Bedingung erfüllen 
ALTER TABLE sh.products 
ILM ADD POLICY 
ORDERS 
row store compress advanced ROW 
AFTER 30 DAYS OF NO MODIFICATION; 
• Nur für ADVANCED ROW oder BASIC 
Compression 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Ausführung der Policies 
• Ausführung 
– automatisch im Maintenance Window oder manuell 
declare 
execution_mode => dbms_ilm.ilm_execution_offline, 
task_id => v_executionid); 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
v_executionid number; 
begin 
dbms_ilm.execute_ilm( 
end; 
• Online oder Offline möglich
Automatische Verlagerung (Storage Tiering) 
SOURCE 
Tablespace 
TARGET 
Tablespace 
SOURCE 
Tablespace 
T1 Zugriff letzte Woche 
T2 Zugriff heute 
MOVE 
55% T1 
60% 
55% 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
T3 Zugriff gestern 
T2 
T3 
SELECT * FROM dba_ilmparameters; 
NAME VALUE 
------------------------------ ---------- 
TBS PERCENT USED 55 
TBS PERCENT FREE 45 
...
1. Tabellen wachsen => Policiy 
komprimiert die Daten 
2. Tablespace mit Partitionen erreicht 
ORDERS 
ALTER TABLE EMPLOYEE 
ILM ADD POLICY 
TIER TO <LOW_COST_TABLESPACE> 
Storage Tiering 
Tablespace Tierung Grenze 
3. Partitionen werden in einen anderen 
Tablespace verlagert 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Automatische Verlagerung am Beispiel 
 Policy anlegen 
ALTER TABLE scott.employee 
ILM ADD POLICY 
TIER TO low_cost_store; 
ORDERS 
• Tablespace Threshold setzen/prüfen 
SELECT * FROM dba_ilmparameters; 
dbms_ilm_admin.customize_ilm(dbms_ilm_admin.tbs_percent_used,85); 
dbms_ilm_admin.customize_ilm(dbms_ilm_admin.tbs_percent_free,25); 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Zusammenfassung 
Daten Klassifikation Automatische Erkennung 
Automatisches Durchführen 
WHAT IF and WHEN Then AUTOMATICALLY do 
Bereiche(Scope) Aktionen 
Bedingungen 
•Welche Operationen? 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
• Tablespace 
• Segment 
• Row/Block 
Voraussetzung: 
Heat Map 
• Komprimieren 
• Verlagern nach Storage Tier 
• Beides 
– Erzeugen 
– Keine Daten-Änderung 
– Kein Daten-Zugriff 
– Business Regel 
•Wann? 
– Nach 3 Tagen 
– Nach 1 Monat 
– Falls Tablespace voll
Weitere Neuerungen für Compression Advisor in 12c 
• Graphische Implementierung im Enterprise Manager 
• Unterstützung von In-Memory Compression 
– Neue Konstanten 
• COMP_INMEMORY_NOCOMPRESS 
• COMP_INMEMORY_DML 
• COMP_INMEMORY_QUERY_LOW 
• COMP_INMEMORY_QUERY_HIGH 
• COMP_INMEMORY_CAPACITY_LOW 
• COMP_INMEMORY_CAPACITY_HIGH 
– Vor: In memory ColumnStore muss konfiguriert sein 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Compression Advisor in Cloud Control 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Weitere Informationen 
• OTN mit White Paper etc. 
http://www.oracle.com/us/products/database/options/advanced-compression/ 
overview/index.html 
• Weiteres White Paper: 
Oracle Advanced Compression Helps Global Fortune 500 Company Meet 
Storage Savings Initiative 
• Deutschsprachiges Dojo: Komprimierung in der Datenbank 
http://www.oracle.com/webfolder/technetwork/de/community/dojo/index.html 
• Veranstaltungen: tinyurl.com/oraclebudb 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

More Related Content

What's hot

Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenDomino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenBelsoft
 
Xpages - oder was man mit einer alten Notes-DB so alles anstellen kann
Xpages - oder was man mit einer alten Notes-DB so alles anstellen kannXpages - oder was man mit einer alten Notes-DB so alles anstellen kann
Xpages - oder was man mit einer alten Notes-DB so alles anstellen kannBelsoft
 
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenDomino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenAndreas Ponte
 
Domino 9 - Was ist neu?
Domino 9 - Was ist neu?Domino 9 - Was ist neu?
Domino 9 - Was ist neu?Ralph Belfiore
 
bccon-2014 adm06 hony,_i_shrunk_the_data
bccon-2014 adm06 hony,_i_shrunk_the_databccon-2014 adm06 hony,_i_shrunk_the_data
bccon-2014 adm06 hony,_i_shrunk_the_dataICS User Group
 
Exadata with VM as Consolidation Plattform
Exadata with VM as Consolidation PlattformExadata with VM as Consolidation Plattform
Exadata with VM as Consolidation PlattformDaniele Massimi
 
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im Vergleich
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im VergleichOracle und Hochverfügbarkeit – Verschiedene Ansätze im Vergleich
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im VergleichDierk Lenz
 
Compact, Compress, De-DUplicate
Compact, Compress, De-DUplicateCompact, Compress, De-DUplicate
Compact, Compress, De-DUplicateUlrich Krause
 
Überblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank HochverfügbarkeitÜberblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank HochverfügbarkeitIleana Somesan
 
Oracle Data Guard: Mit oder ohne Broker?
Oracle Data Guard: Mit oder ohne Broker?Oracle Data Guard: Mit oder ohne Broker?
Oracle Data Guard: Mit oder ohne Broker?Dierk Lenz
 
Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014
 Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014 Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014
Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014panagenda
 
C1 Adcon Backup For Domino
C1 Adcon Backup For DominoC1 Adcon Backup For Domino
C1 Adcon Backup For DominoAndreas Schulte
 
Roadshow: What's new in Microsoft SQL Server 2016
Roadshow: What's new in Microsoft SQL Server 2016Roadshow: What's new in Microsoft SQL Server 2016
Roadshow: What's new in Microsoft SQL Server 2016Digicomp Academy AG
 
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG KonferenzDomino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenzpanagenda
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 PerformanceUlrich Krause
 
Share point rbs overview deutsch
Share point rbs overview deutschShare point rbs overview deutsch
Share point rbs overview deutschSamuel Zürcher
 
Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Ulrike Schwinn
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerFromDual GmbH
 
Nimble Storage - Die neue Storage-Generation
Nimble Storage - Die neue Storage-GenerationNimble Storage - Die neue Storage-Generation
Nimble Storage - Die neue Storage-GenerationDigicomp Academy AG
 
Datenbankkonsolidierung
DatenbankkonsolidierungDatenbankkonsolidierung
DatenbankkonsolidierungDierk Lenz
 

What's hot (20)

Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenDomino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
 
Xpages - oder was man mit einer alten Notes-DB so alles anstellen kann
Xpages - oder was man mit einer alten Notes-DB so alles anstellen kannXpages - oder was man mit einer alten Notes-DB so alles anstellen kann
Xpages - oder was man mit einer alten Notes-DB so alles anstellen kann
 
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenDomino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
 
Domino 9 - Was ist neu?
Domino 9 - Was ist neu?Domino 9 - Was ist neu?
Domino 9 - Was ist neu?
 
bccon-2014 adm06 hony,_i_shrunk_the_data
bccon-2014 adm06 hony,_i_shrunk_the_databccon-2014 adm06 hony,_i_shrunk_the_data
bccon-2014 adm06 hony,_i_shrunk_the_data
 
Exadata with VM as Consolidation Plattform
Exadata with VM as Consolidation PlattformExadata with VM as Consolidation Plattform
Exadata with VM as Consolidation Plattform
 
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im Vergleich
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im VergleichOracle und Hochverfügbarkeit – Verschiedene Ansätze im Vergleich
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im Vergleich
 
Compact, Compress, De-DUplicate
Compact, Compress, De-DUplicateCompact, Compress, De-DUplicate
Compact, Compress, De-DUplicate
 
Überblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank HochverfügbarkeitÜberblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank Hochverfügbarkeit
 
Oracle Data Guard: Mit oder ohne Broker?
Oracle Data Guard: Mit oder ohne Broker?Oracle Data Guard: Mit oder ohne Broker?
Oracle Data Guard: Mit oder ohne Broker?
 
Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014
 Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014 Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014
Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014
 
C1 Adcon Backup For Domino
C1 Adcon Backup For DominoC1 Adcon Backup For Domino
C1 Adcon Backup For Domino
 
Roadshow: What's new in Microsoft SQL Server 2016
Roadshow: What's new in Microsoft SQL Server 2016Roadshow: What's new in Microsoft SQL Server 2016
Roadshow: What's new in Microsoft SQL Server 2016
 
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG KonferenzDomino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 Performance
 
Share point rbs overview deutsch
Share point rbs overview deutschShare point rbs overview deutsch
Share point rbs overview deutsch
 
Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für Entwickler
 
Nimble Storage - Die neue Storage-Generation
Nimble Storage - Die neue Storage-GenerationNimble Storage - Die neue Storage-Generation
Nimble Storage - Die neue Storage-Generation
 
Datenbankkonsolidierung
DatenbankkonsolidierungDatenbankkonsolidierung
Datenbankkonsolidierung
 

Similar to Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)

Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Ulrike Schwinn
 
Datenbank Migration - Oracle 11gR2 Erfahrungen 2011 - OPITZ CONSULTING - Chri...
Datenbank Migration - Oracle 11gR2 Erfahrungen 2011 - OPITZ CONSULTING - Chri...Datenbank Migration - Oracle 11gR2 Erfahrungen 2011 - OPITZ CONSULTING - Chri...
Datenbank Migration - Oracle 11gR2 Erfahrungen 2011 - OPITZ CONSULTING - Chri...OPITZ CONSULTING Deutschland
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2 oraclebudb
 
Ausgewählte PL/SQL Packages (3)
Ausgewählte PL/SQL Packages (3)Ausgewählte PL/SQL Packages (3)
Ausgewählte PL/SQL Packages (3)Ulrike Schwinn
 
Norbert Rieger – IT-Tage 2015 – Optimierung der Performance bei Oracle-Datenb...
Norbert Rieger – IT-Tage 2015 – Optimierung der Performance bei Oracle-Datenb...Norbert Rieger – IT-Tage 2015 – Optimierung der Performance bei Oracle-Datenb...
Norbert Rieger – IT-Tage 2015 – Optimierung der Performance bei Oracle-Datenb...Informatik Aktuell
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesDigicomp Academy AG
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenCommunardo GmbH
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSharepointUGDD
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickKarin Patenge
 
SAP Datashpere - von Bits und Bites zu Widgets und Charts
SAP Datashpere - von Bits und Bites zu Widgets und ChartsSAP Datashpere - von Bits und Bites zu Widgets und Charts
SAP Datashpere - von Bits und Bites zu Widgets und ChartsIBsolution GmbH
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationSamuel Zürcher
 
Datentransfer mit Oracle Tools
Datentransfer mit Oracle ToolsDatentransfer mit Oracle Tools
Datentransfer mit Oracle ToolsChristian Gohmann
 
Datenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerDatenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerMarkus Flechtner
 
Oracle Database 12c In-Memory Option
Oracle Database 12c In-Memory Option Oracle Database 12c In-Memory Option
Oracle Database 12c In-Memory Option Ileana Somesan
 
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon DickmeißReal Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon DickmeißOPITZ CONSULTING Deutschland
 
Oracle 11g - Neuerungen im Überblick
Oracle 11g - Neuerungen im ÜberblickOracle 11g - Neuerungen im Überblick
Oracle 11g - Neuerungen im ÜberblickGFU Cyrus AG
 
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...Lars Platzdasch
 
Überblick Oracle GoldenGate
Überblick Oracle GoldenGateÜberblick Oracle GoldenGate
Überblick Oracle GoldenGateIleana Somesan
 
Marek Adar – IT-Tage 2015 – Oracle Recovery Manager unter 12c
Marek Adar – IT-Tage 2015 – Oracle Recovery Manager unter 12cMarek Adar – IT-Tage 2015 – Oracle Recovery Manager unter 12c
Marek Adar – IT-Tage 2015 – Oracle Recovery Manager unter 12cInformatik Aktuell
 
Qualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdfQualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdfOliver Lemm
 

Similar to Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c) (20)

Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
 
Datenbank Migration - Oracle 11gR2 Erfahrungen 2011 - OPITZ CONSULTING - Chri...
Datenbank Migration - Oracle 11gR2 Erfahrungen 2011 - OPITZ CONSULTING - Chri...Datenbank Migration - Oracle 11gR2 Erfahrungen 2011 - OPITZ CONSULTING - Chri...
Datenbank Migration - Oracle 11gR2 Erfahrungen 2011 - OPITZ CONSULTING - Chri...
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2
 
Ausgewählte PL/SQL Packages (3)
Ausgewählte PL/SQL Packages (3)Ausgewählte PL/SQL Packages (3)
Ausgewählte PL/SQL Packages (3)
 
Norbert Rieger – IT-Tage 2015 – Optimierung der Performance bei Oracle-Datenb...
Norbert Rieger – IT-Tage 2015 – Optimierung der Performance bei Oracle-Datenb...Norbert Rieger – IT-Tage 2015 – Optimierung der Performance bei Oracle-Datenb...
Norbert Rieger – IT-Tage 2015 – Optimierung der Performance bei Oracle-Datenb...
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & Features
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint Administratoren
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point Admins
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
 
SAP Datashpere - von Bits und Bites zu Widgets und Charts
SAP Datashpere - von Bits und Bites zu Widgets und ChartsSAP Datashpere - von Bits und Bites zu Widgets und Charts
SAP Datashpere - von Bits und Bites zu Widgets und Charts
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
 
Datentransfer mit Oracle Tools
Datentransfer mit Oracle ToolsDatentransfer mit Oracle Tools
Datentransfer mit Oracle Tools
 
Datenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerDatenbank-Hausputz für Einsteiger
Datenbank-Hausputz für Einsteiger
 
Oracle Database 12c In-Memory Option
Oracle Database 12c In-Memory Option Oracle Database 12c In-Memory Option
Oracle Database 12c In-Memory Option
 
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon DickmeißReal Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
 
Oracle 11g - Neuerungen im Überblick
Oracle 11g - Neuerungen im ÜberblickOracle 11g - Neuerungen im Überblick
Oracle 11g - Neuerungen im Überblick
 
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...
 
Überblick Oracle GoldenGate
Überblick Oracle GoldenGateÜberblick Oracle GoldenGate
Überblick Oracle GoldenGate
 
Marek Adar – IT-Tage 2015 – Oracle Recovery Manager unter 12c
Marek Adar – IT-Tage 2015 – Oracle Recovery Manager unter 12cMarek Adar – IT-Tage 2015 – Oracle Recovery Manager unter 12c
Marek Adar – IT-Tage 2015 – Oracle Recovery Manager unter 12c
 
Qualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdfQualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdf
 

More from Ulrike Schwinn

Hybrid Partitioned Tables in Oracle Database 19c
Hybrid Partitioned Tables in Oracle Database 19cHybrid Partitioned Tables in Oracle Database 19c
Hybrid Partitioned Tables in Oracle Database 19cUlrike Schwinn
 
JSON in der Oracle Datenbank
JSON in der Oracle DatenbankJSON in der Oracle Datenbank
JSON in der Oracle DatenbankUlrike Schwinn
 
Sensitive Daten in der Oracle Datenbank
Sensitive Daten in der Oracle DatenbankSensitive Daten in der Oracle Datenbank
Sensitive Daten in der Oracle DatenbankUlrike Schwinn
 
18c: private temporary tables
18c: private temporary tables18c: private temporary tables
18c: private temporary tablesUlrike Schwinn
 
What's new in SQL und PL/SQL in 12.2
What's new in SQL und PL/SQL in 12.2What's new in SQL und PL/SQL in 12.2
What's new in SQL und PL/SQL in 12.2Ulrike Schwinn
 
Heterogene Daten(-strukturen) in der Oracle Datenbank
Heterogene Daten(-strukturen) in der Oracle DatenbankHeterogene Daten(-strukturen) in der Oracle Datenbank
Heterogene Daten(-strukturen) in der Oracle DatenbankUlrike Schwinn
 
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios Ulrike Schwinn
 
Oracle Text 12c New Features
Oracle Text 12c New FeaturesOracle Text 12c New Features
Oracle Text 12c New FeaturesUlrike Schwinn
 
Ausgewählte PL/SQL Packages (2)
Ausgewählte PL/SQL Packages (2)Ausgewählte PL/SQL Packages (2)
Ausgewählte PL/SQL Packages (2)Ulrike Schwinn
 

More from Ulrike Schwinn (9)

Hybrid Partitioned Tables in Oracle Database 19c
Hybrid Partitioned Tables in Oracle Database 19cHybrid Partitioned Tables in Oracle Database 19c
Hybrid Partitioned Tables in Oracle Database 19c
 
JSON in der Oracle Datenbank
JSON in der Oracle DatenbankJSON in der Oracle Datenbank
JSON in der Oracle Datenbank
 
Sensitive Daten in der Oracle Datenbank
Sensitive Daten in der Oracle DatenbankSensitive Daten in der Oracle Datenbank
Sensitive Daten in der Oracle Datenbank
 
18c: private temporary tables
18c: private temporary tables18c: private temporary tables
18c: private temporary tables
 
What's new in SQL und PL/SQL in 12.2
What's new in SQL und PL/SQL in 12.2What's new in SQL und PL/SQL in 12.2
What's new in SQL und PL/SQL in 12.2
 
Heterogene Daten(-strukturen) in der Oracle Datenbank
Heterogene Daten(-strukturen) in der Oracle DatenbankHeterogene Daten(-strukturen) in der Oracle Datenbank
Heterogene Daten(-strukturen) in der Oracle Datenbank
 
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios
 
Oracle Text 12c New Features
Oracle Text 12c New FeaturesOracle Text 12c New Features
Oracle Text 12c New Features
 
Ausgewählte PL/SQL Packages (2)
Ausgewählte PL/SQL Packages (2)Ausgewählte PL/SQL Packages (2)
Ausgewählte PL/SQL Packages (2)
 

Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)

  • 1. Komprimierung in der Datenbank Strukturierte und unstrukturierte Daten, Backup, Data Pump, Netzwerk, etc. Ulrike Schwinn Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Business Unit Database Oracle Deutschland B.V. & Co KG Dezember 2014 Oracle Confidential – Internal/Restricted/Highly Restricted
  • 2. Agenda Komprimierung in der Datenbank - Vorteile Strukturierte Daten Index Key Compression, Advanced Index Compression 1 2 3 Backup Unstrukturierte Daten Noch mehr Features in 12c Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 2 6
  • 3. Komprimierung in der Datenbank • Einsatzgebiete – DWH-Anwendungen und für „Mixed Operations“ – Content Management Anwendungen – Backup-Szenarien Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | – Netzwerk Engpässe • Vorteile – Einsparung von Plattenplatz (Storage) –Weniger I/Os – Effiziente Memory Nutzung und Nutzung der Netzwerkbandbreite
  • 4. COMPRESSION TYP Verwendung Lizenzierung Basic Compression Bulk Load/Direct Path Operationen Enterprise Edition Advanced Row Compression OLTP Applikationen d.h. jegliche DML Operationen Enterprise Edition mit Advanced Compression Option (kurz ACO) Features im Überblick I Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Hybrid Columnar Compression – Warehouse Level Bulk Load in Warehouse Umgebungen Nur auf spezieller Storage: Exadata, ZFS, Pillar Hybrid Columnar Compression – Archive Level Inaktive Daten/ Partitionen Nur auf spezieller Storage: Exadata, ZFS, Pillar Advanced LOB Compression/ Deduplication Nicht relationale Daten im OLTP oder DWH Umfeld Enterprise Edition mit ACO
  • 5. Features im Überblick II COMPRESSION TYP Verwendung Lizenzierung Index Key Compression Indizes auf Tabellen für OLTP und DWH Enterprise Edition Advanced Network (12c) / Data Guard Redo Transport Compression Alle Umgebungen Enterprise Edition mit ACO Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | RMAN/Data Pump Backup Compression Alle Umgebungen Abhängig vom Algorithmus: Enterprise Edition mit/ohne ACO Advanced Index Compression neu in 12.1.0.2 Indizes auf Tabellen für OLTP und DWH Enterprise Edition mit ACO
  • 6. Agenda Komprimierung in der Datenbank - Vorteile Strukturierte Daten Index Key Compression, Advanced Index Compression 1 2 3 Backup Unstrukturierte Daten Noch mehr Features in 12c Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 6 6
  • 7. Komprimierung von strukturierten Daten Vorteile • Komprimierung der Daten auf Datenblock Ebene • Mehr Performance für Abfragen auf grossen Datenmengen –Weniger I/Os – Effiziente Buffer Cache Nutzung Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Transparent für Applikationen – Keine Änderungen erforderlich
  • 8. Komprimierung von strukturierten Daten Tabellendaten • Komprimierung einstellbar auf … Tabellen, Partition, Tablespace Ebene Ab Oracle 9i Release 2 Advanced Compression Option (kurz ACO) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Bulk Loads/Direct Loads • Konventionelles DML wird nicht komprimiert! • Für alle DML-Operationen
  • 9. Direct Load Operationen Stand 11g • Direct Load Operationen – Direct Path Load beim SQL*Loader, CREATE TABLE AS SELECT, Paralleler INSERT, Serieller INSERT mit APPEND Hint und Subquery Klausel • Vorteile von Direct Loads – Direct Load Compression, Einsatz von NOLOGGING ... • Syntax CREATE TABLE sales_history(…) COMPRESS [BASIC]; • Einschränkungen – Keine Unterstützung für INSERT, UPDATE Operationen, Nicht für Tabellen mit mehr als 255 Spalten, Kein DROP COLUMN möglich Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 10. Direct Load Operationen Stand 11g Release 2: Neuer Hint • Hint APPEND_VALUES nun auch für INSERT Statements mit VALUES-Klausel : prod_ids NumList; Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | BEGIN FOR i IN 1..1000 LOOP prod_ids(i) := i; END LOOP; FORALL j IN 200..1000 INSERT /*+ APPEND_VALUES */ INTO comp_tab VALUES (prod_ids(j),sysdate,...); :
  • 11. Empty Compressed Block Uncompressed Block Compressed Block teilweise Compressed Block Für alle DML Operationen mit ACO Ablauf Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Block Legend Header Data Free Space Uncompressed Data Compressed Data
  • 12. Syntax – OLTP Compression Stand 11g Release 2 •Möglich auf Table, Partition und Tablespace Ebene • Beispiele (Achtung Syntaxänderung in 12c) CREATE TABLE sales_history(…) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | COMPRESS FOR OLTP CREATE TABLE sales_part (saleskey number,…, region varchar2(10)) PARTITION BY LIST (region) (PARTITION northwest VALUES ('NORTHWEST'), PARTITION southwest VALUES ('SOUTHWEST'), PARTITION northeast VALUES ('NORTHEAST') COMPRESS FOR OLTP, …)
  • 13. Eigenschaften • System-Anforderungen – Redo Size (UPDATE, INSERT) – CPU Anforderungen (UPDATE, INSERT) – Buffer Cache Reduktion • Performance-Steigerung für Queries • Performance von DML Statements variiert • Änderungen an Ausführungsplänen (Statistiken) möglich !!! • Einschränkungen: Spaltenanzahl (in 11g), IOTs, Cluster Table, External Tables, Chained Rows (Fix ab 11.2.0.3 mit MOS 9707965.8) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 14. Administration und Monitoring • Komprimierungseinstellung ändern mit ALTER TABLE COMPRESS oder MOVE COMPRESS (Unterschied!) • Beispiel: ALTER TABLE MOVE PARTITION COMPRESS • DBA_TABLES TABLE_NAME COMPRESS COMPRESS_FOR ----------------------- -------- ------------ CUSTOMERS DISABLED CUST_COMP ENABLED BASIC CUST_OLTP ENABLED OLTP • DBA_SEGMENTS SEGMENT_NAME MB -------------------- ---------- CUST_OLTP 14 CUST_COMP 21 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 15. Monitoring Speicherplatzverbrauch : Unformatted Blocks = 0 F_25 Blocks = 0 F_50 Bytes = 0 F_50 Blocks = 0 (*) Analyse mit DBMS_SPACE.SPACE_USAGE Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | F_75 Blocks = 2 F_100 Blocks= 122 Full Blocks = 750 :
  • 16. Tipps • Anwendung der Komprimierung – bei Tabellen mit grösstem Speicherplatzverbrauch • Speicherplatzeinsparung immer abhängig von – den Daten und dem Ladevorgang • Komprimierungsratio (unkomprimierten/komprimierten Daten) variiert • Bessere Ratio durch: – Verwendung von größeren DB Blöcken – Erhöhung der Daten-Redundanz z.B. durch Laden von sortierten Daten • Performance ist abhängig von den Abfragen Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 17. Hybrid Columnar Compression (kurz HCC) BLOCK HEADER CU HEADER C1 BLOCK HEADER BLOCK HEADER BLOCK HEADER C2 Logical Compression Unit (CU) C3 C4 C5 C5 C6 C7 C8 • Neue Kombination der Anordnung nach Spalten und Zeilen ⇒höhere Compression Ratio möglich • Verschiedene Level • Designed für Daten, die nicht häufig verändert werden und Low Concurrency • Komprimierung nur während Bulk Loads! • Verfügbar für Storage wie Exadata, ZFS oder Pillar Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 18. Hybrid Columnar Compression (HCC) • COMPRESS FOR QUERY für DWH CREATE TABLE mass(...) COMPRESS FOR QUERY [LOW|HIGH] • COMPRESS FOR ARCHIVE für Langzeitspeicherung und Daten, CREATE TABLE mass(...) COMPRESS FOR ARCHIVE [LOW|HIGH] Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | die nicht mehr verändert werden • Verwendung von unterschiedlichen Komprimierungs-Algorithmen und unterschiedlichen CU Größen pro Level • Ratio ist höher bei Archive als bei Query • Unterschiedliche Partitionen mit unterschiedlichen Compression
  • 19. Compression Advisor • Einsatz des Package DBMS_COMPRESSION ab 11gR2 • Ohne zusätzliche Installation für alle Editionen • Unterstützt partitionierte/nicht partitionierte Tabellen Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Funktionen: – Erstellt temporäre Objekte um Komprimierungsratio zu berechnen – Analysiert Zeilen auf Komprimierungstyp – Einsatz auch für HCC Komprimierung • Vor 11gR2: Download DBMS_COMP_ADVISOR von OTN – http://www.oracle.com/technetwork/database/options/compression/compression-advisor-095705.html
  • 20. Compressiontyp • Mit Tabellenname und ROWID SELECT dbms_compression.get_compression_type('SH', 'NOCOMP','AAASOVAAEAAADDoAB8') Rate FROM dual; RATE Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | ---- 1 • wobei – 1: No compression – 2: OLTP Compression
  • 21. Release2 Compression Advisor: Kompressiontyp declare b_cmp PLS_INTEGER; : begin DBMS_COMPRESSION.GET_COMPRESSION_RATIO ( SCRATCHTBSNAME=> 'USERS', OWNNAME => 'SH', TABNAME => 'SALES', PARTNAME => 'SALES_Q1_1999', COMPTYPE => 2, Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 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('RATIO => '|| cmp_ratio); dbms_output.put_line('CMPTYPE => '|| cmp_str); :
  • 22. Ergebnis : BLKCNT_CMP => 115 BLKCNT_UNCMP => 306 RATIO => 2,6 CMPTYPE => „Compress For OLTP“ : Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 23. Compression Advisor für HCC • Kein HCC Storage notwendig • Nutzung der Prozedur DBMS_COMPRESSION. GET_COMPRESSION_RATIO mit – 4: High compression level for query operations – 8: Low compression level for query operations – 16: High compression level for archive operations – 32: Low compression level for archive operations • Voraussetzungen: – 11g Release 2, Mindestgröße der Tabelle: 1 000000 Zeilen Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 24. • Änderungen für Basic, OLTP und HCC Compression • BASIC CREATE TABLE sales_history(…) ROW STORE COMPRESS BASIC; Neue Syntax in 12c CREATE TABLE sales_history(…) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • OLTP • Beispiel für HCC ROW STORE COMPRESS ADVANCED; CREATE TABLE sales_history(…) COLUMN STORE COMPRESS FOR QUERY HIGH;
  • 25. Erweiterungen in 12c • Aufhebung des 255 Spalten Limits für OLTP Compression • DBMS_COMPRESSION Advisor jetzt auch für Securefile LOBs begin DBMS_COMPRESSION.GET_COMPRESSION_RATIO ( SCRATCHTBSNAME => 'USERS', TABOWNER => 'SH', TABNAME => 'BASIC_LOB', LOBNAME => 'TEXT', PARTNAME => '', COMPTYPE => 128, … Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 26. Neue Online Operationen in 12c • Online Operationen für MOVE PARTITION • Weniger Sperren • Grundlage für ILM Operationen Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Beispiele ALTER TABLE sales_big MOVE PARTITION sales_q4_2001 ROW STORE COMPRESS ADVANCED ONLINE; ALTER TABLE sales_big MOVE PARTITION sales_q4_2001 TABLESPACE example ONLINE;
  • 27. Compression Advisor in 12c • Geänderte Parameternamen und Konstanten bzw. Werte (siehe Handbuch PL/SQL Users Guide) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 28. Konstanten in 12c für Compression Advisor Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 29. Beispiel: Compression Advisor Ratio für Partition Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 29
  • 30. Agenda Komprimierung in der Datenbank - Vorteile Strukturierte Daten Index Key Compression, Advanced Index Compression 1 2 3 Backup Unstrukturierte Daten Noch mehr Features in 12c Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 30 6
  • 31. Index Komprimierung allgemein • Out of the Box Komprimierung bei Bitmap Indizes • Normale B*Tree Indizes mit Index Key Compression seit jeher – Nutzbar für nonunique Single Column oder unique Multi Column – Indexschlüssel: Aufteilung in Suffix – eindeutigen Teil Präfix – wiederholende Anteile CREATE INDEX ON t1(col1, col2, col3, col4) COMPRESS integer zahl; ALTER INDEX REBUILD [ONLINE] COMPRESS integer zahl; Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | – Starke Reduzierung der Index Leaves • "COMPRESS integer zahl" ist die Anzahl der Präfixspalten
  • 32. Index Key Compression - Beispiel Arzt Zahnarzt AAAPvCAAFAAAAFaAAa Restaurant Italienisch AAAPvCAAFAAAAFaAAa Arzt Internist AAAPvCAAFAAAAFaAAl Restaurant Bayerisch AAAPvCAAFAAAAFaAAm Restaurant Indisch AAAPvCAAFAAAAFaAAq Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | P0 Restaurant P1 Arzt P1 Zahnarzt AAAPvCAAFAAAAFaAAa P0 Italienisch AAAPvCAAFAAAAFaAAa P1 Internist AAAPvCAAFAAAAFaAAl P0 Bayerisch AAAPvCAAFAAAAFaAAm P0 Indisch AAAPvCAAFAAAAFaAAq
  • 33. Index Analyse • Güte des Index ANALYZE INDEX basic_lob_kat_ort VALIDATE STRUCTURE; – ANALYZE INDEX Kommando weder ONLINE noch PARALLEL SELECT name, blocks, br_blks,lf_blks, opt_cmpr_pctsave as save, opt_cmpr_count as key FROM index_stats; NAME BLOCKS BR_BLKS LF_BLKS SAVE KEY ----------------- ---------- ---------- ---------- ----- -------- BASIC_LOB_KAT_ORT 768 3 643 46 2 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Resultat • Alternative: MOS Note 989186.1
  • 34. Advanced Index Compression • Neu in 12c mit ACO • Speziell für Indizes, die keine guten Kandidaten für Index Key Compression sind –Wie z.B. Indizes mit keinen oder nur wenigen doppelten Werten • Kann Partitionsweise verwendet werden • Komprimierung auf Blockebene • Nicht supported für: Bitmap indexes, IOTs und Single Column Unique Indizes • Compression Advisor Erweiterung Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 35. Advanced Index Compression • Index mit Eigenschaft anlegen über CREATE oder ALTER INDEX CREATE INDEX hr.emp_mndp_ix ON hr.employees(manager_id, department_id) COMPRESS ADVANCED LOW; ALTER INDEX hr.emp_mndp_ix COMPRESS ADVANCED LOW; • Monitoren SQL> select index_name, compression from user_indexes; INDEX_NAME COMPRESSION ------------------------------ ------------- EMP_NAME_IX DISABLED EMP_MNDP_IX ADVANCED LOW …. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 36. Compression Advisor und Advanced Index Compression BEGIN dbms_compression.get_compression_ratio ( scratchtbsname => 'USERS', ownname => 'SH', objname => 'B_CUST_POSTAL', subobjname => '', comptype => dbms_compression.COMP_INDEX_ADVANCED_LOW, blkcnt_cmp => l_blkcnt_cmp, blkcnt_uncmp => l_blkcnt_uncmp, row_cmp => l_row_cmp, row_uncmp => l_row_uncmp, cmp_ratio => l_cmp_ratio, comptype_str => l_comptype_str, subset_numrows => dbms_compression.COMP_RATIO_MINROWS, objtype => dbms_compression.OBJTYPE_INDEX); ... Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 37. Agenda Komprimierung in der Datenbank - Vorteile Strukturierte Daten Index Key Compression, Advanced Index Compression 1 2 3 Backup Unstrukturierte Daten Noch mehr Features in 12c Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 37 6
  • 38. Data Pump • Bisher: Metadata Komprimierung (Default) mit expdp compression = METADATA_ONLY ... • Neu: Advanced Compression expdp compression = ALL | DATA_ONLY ... – Tabellendaten-Komprimierung während des Data Pump Exports – Vollständige Inline Operation bei Export und Import – Funktioniert mit komprimierten und unkomprimierten Daten – Applikationstransparent: keine Einschränkung der Data Pump Funktionen – Größenreduzierung bis zu 75% Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 39. Testergebnisse Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Quelle: An Oracle White Paper May 2011 Case Study Oracle Advanced Compression Helps Global Fortune 500 Company Meet Storage Savings Initiative
  • 40. Neuerung in 12c: Data Pump • Import gibt Komprimierung vor - unabhängig von der Komprimierungseigenschaft der Tabelle im Export bzw. des Ziel Tablespaces • Beispiel: Tabelle mit COMPRESS BASIC Einstellung impdp dumpfile=sh.dmp directory=home tables=sh.cust_copy TRANSFORM = TABLE_COMPRESSION_CLAUSE:"COMPRESS BASIC" Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 41. Neuerungen in 12c: External Table Compression • Seit 10g können mit External Tables Daten aus der Datenbank in eine binäre Datei geschrieben werden. • Neu ist die Verwendung von Compression Syntax um Daten zu komprimieren, bevor sie in der binären Datei abgelegt werden. CREATE TABLE sh.ext_sales_products_basic ORGANIZATION EXTERNAL ( TYPE oracle_datapump DEFAULT DIRECTORY home ACCESS PARAMETERS (compression enabled basic) LOCATION ('sales_prod.exp_low')) REJECT LIMIT UNLIMITED AS SELECT p.prod_name, s.quantity_sold, s.cust_id FROM sh.sales s JOIN sh.products p USING (prod_id); Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 42. RMAN Komprimierung • Vor 11g – RMAN Backup mit und ohne Komprimierung möglich – Syntax für komprimiertes Backup RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE; • Mit Advanced Compression Option stehen weitere Algorithmen zur Verfügung RMAN> CONFIGURE COMPRESSION ALGORITHM 'BASIC|LOW|MEDIUM|HIGH'; Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 43. RMAN Komprimierung • Komprimierung des Backupsets, bevor auf Platte geschrieben wird • Funktioniert mit komprimierten und unkomprimierten Daten • 3 neue Algorithmen mit Advanced Compression Option NAME ALGORITHM_DESCRIPTION COMPATIBILITY ------ -------------------------------------------- ------------ BASIC good compression ratio 9.2.0.0.0 LOW maximum possible compression speed 11.2.0.0.0 MEDIUM balance between speed and compression ratio 11.0.0.0.0 HIGH maximum possible compression ratio 11.2.0.0.0 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 44. RMAN Tests Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Quelle: An Oracle White Paper May 2011 Case Study Oracle Advanced Compression Helps Global Fortune 500 Company Meet Storage Savings Initiative
  • 45. Agenda Komprimierung in der Datenbank - Vorteile Strukturierte Daten Index Key Compression, Advanced Index Compression 1 2 3 Backup Unstrukturierte Daten Noch mehr Features in 12c Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 45 6
  • 46. Unstrukturierte Daten • Ab 11g Komprimierung für SecureFiles möglich • Keine Programmierung notwendig • Speicherplatzeinsparungen abhängig von Datenformaten (Word,HTML,XML,JPEG etc.) • Performancegewinn abhängig von Queries • Nutzbar auch im 11gR2 Database Filesystem • Unabhängig von Table Compression • Wichtig: Alle Programmierschnittstellen bleiben gleich! Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 47. Beispiele • Aktivierung durch Storage-Klausel und/oder Parameter DB_SECUREFILE[PERMITTED,NEVER,FORCE,ALWAYS,IGNORE] CREATE TABLE bilder (...bild BLOB) LOB (bild) STORE AS SECUREFILE (COMPRESS HIGH|MEDIUM|LOW ...) CREATE TABLE media_secure (id NUMBER,... lob1 BLOB) LOB (lob1) STORE AS SECUREFILE (DEDUPLICATE COMPRESS HIGH) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Secure hash
  • 48. Tipps • Monitoring der Einstellungen in USER_/DBA_LOBS TABLE_NAME COMPRE DEDUPLICATION ------------------------ ------ --------------- COMP_LOB HIGH NO UNCOMP_LOB NO NO • Größe bestimmen in – DBA_SEGMENTS oder DBMS_SPACE (auch für SecureFiles) – Kein Compression Advisor • Ergebnis ist abhängig von der Größe und dem eingesetzten Format • Bereits vorkomprimiertes Format ja/nein? • Z.B. .doc (unkomp) : hoch .docx (komp) : niedrig Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 49. Unterschiedliche Formate Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 50. Tipps • Separater Tablespace für LOB Speicherung mag sinnvoll sein • Platzeinsparung durch Komprimierung bei Blockwahl beachten • LOB-Speicherparameter wie STORAGE IN ROW beachten • Migration über Neuladen oder mit DBMS_REDEFINITION Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 51. Compression Advisor und Securefile Compression begin DBMS_COMPRESSION.GET_COMPRESSION_RATIO ( SCRATCHTBSNAME => 'USERS', TABOWNER => 'SH', TABNAME => 'BASIC_LOB', LOBNAME => 'TEXT', Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | PARTNAME => '', COMPTYPE => 128, BLKCNT_CMP => b_cmp, BLKCNT_UNCMP => b_uncmp, LOBCNT => lob_cnt, CMP_RATIO => cmp_ratio, COMPTYPE_STR => cmp_str); ...
  • 52. Weitere Themen • Was ist mit UTL_COMPRESS Package? – Geeignet für LOBs, RAW und BFILEs – Programmierung nötig • Was sind die Unterschiede zu Hardware Storage Compression? – Nicht „Database Aware“ – Komprimierung auf Datei Ebene – Nicht „Buffer Cache Aware“ – Queries müssen vorher Dekomprimierung durchführen Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 53. Noch mehr Speicherplatz einsparen ... • Deferred Segment Creation • Zero Size UNUSABLE Index • External Tables mit Pre-Processing • Dictionary-Only Add Column mit Default Wert (12c) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 54. Agenda Komprimierung in der Datenbank - Vorteile Strukturierte Daten Index Key Compression, Advanced Index Compression 1 2 3 Backup Unstrukturierte Daten Noch mehr Features in 12c Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 54 6
  • 55. Netzwerk Compression • Bisher: Redo Compression beim Data Guard Transport • Erweiterung der Komprimierung in Netzwerk Umfeld • Vorteil –Verminderung des Datenvolumens –Erhöhung der Netzwerk Performance • Neuer SQLNET Parameter zur Einstellung SQLNET.COMPRESSION = on SQLNET.COMPRESSION_LEVELS =(high) SQLNET.COMPRESSION_THRESHOLD = 1024 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 56. ILM in der Oracle Database • ILM Integration in den Datenbank Kern – Heat Map: automatisches Monitoring und Klassifikation (Hot/Cold Data) – Automatic Data Placement /Optimization: Policies, automatisiert in der Datenbank ausgeführt • ... zusätzlich Erweiterungen in Bereichen wie ... Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | – Kompression – Partitionierung
  • 57. Das Konzept: Heat Map Tracking • Eine Heat Map liefert Zugriffsinformationen auf die Daten • Ebenen Segment: Welche Tabellen/Partitionen werden wie Active Frequent HOT Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | – verwendet? – Block: Welche Blöcke wurden wann verändert? • Umfassend – Überwacht Reads ,Writes, Index und Full Table Scans – Ausschluss der Operationen Statistics Gathering, DDLs usw. • Performant Access Occasional Access Dormant COLD
  • 58. Grundsätzliches • Dynamisch einschaltbar über einen Parameter ALTER SYSTEM SET heat_map=on scope=both; • Administration und Monitoring über – V$View und Data Dictionary Views – Packages – Enterprise Manager Cloud Control 12c • Lizenzierung: EE mit Advanced Compression Option Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 59. ORDERS Überwachen über … • DBA_HEATMAP_TOP_TABLESPACES • DBA_HEATMAP_TOP_OBJECTS • DBA_HEAT_MAP_SEGMENT • DBA_HEAT_MAP_SEGMENT_HISTOGRAM Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • V$HEAT_MAP_SEGMENT • DBMS_HEAT_MAP
  • 60. Heat Map im Enterprise Manager Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 61. Automatische Datenoptimierungen • Vor: Aktivierung der Heat Map • Umfassen folgende Aktionen – Komprimieren von Daten Bewegen von Daten (auch Storage Tiering ) Less Active Active Historical – • Komprimieren in Abhängigkeit von Bedingungen wie – Zeit nach Erzeugung (CREATION), Zugriffsverhalten (ACCESS), Änderung an Daten (MODIFICATION) oder eigene Bedingung • Implementierung über Policies mit CREATE/ALTER Befehlen • Lizenzierung: EE mit Advanced Compression Option Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 62. Automatische Segment Komprimierung • Für Tabellen (Vererbung auf Partitionen) ALTER TABLE sh.sales ILM ADD POLICY row store compress advanced SEGMENT ORDERS AFTER 1 DAY OF NO MODIFICATION; Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Für einzelne Partitionen ALTER TABLE sh.sales MODIFY PARTITION sales_q4_2000 ILM ADD POLICY row store compress advanced SEGMENT AFTER 1 DAY OF NO MODIFICATION;
  • 63. Automatische ROW Komprimierung • Ein Block wird komprimiert, wenn alle Zeilen im Block die Bedingung erfüllen ALTER TABLE sh.products ILM ADD POLICY ORDERS row store compress advanced ROW AFTER 30 DAYS OF NO MODIFICATION; • Nur für ADVANCED ROW oder BASIC Compression Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 64. Ausführung der Policies • Ausführung – automatisch im Maintenance Window oder manuell declare execution_mode => dbms_ilm.ilm_execution_offline, task_id => v_executionid); Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | v_executionid number; begin dbms_ilm.execute_ilm( end; • Online oder Offline möglich
  • 65. Automatische Verlagerung (Storage Tiering) SOURCE Tablespace TARGET Tablespace SOURCE Tablespace T1 Zugriff letzte Woche T2 Zugriff heute MOVE 55% T1 60% 55% Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | T3 Zugriff gestern T2 T3 SELECT * FROM dba_ilmparameters; NAME VALUE ------------------------------ ---------- TBS PERCENT USED 55 TBS PERCENT FREE 45 ...
  • 66. 1. Tabellen wachsen => Policiy komprimiert die Daten 2. Tablespace mit Partitionen erreicht ORDERS ALTER TABLE EMPLOYEE ILM ADD POLICY TIER TO <LOW_COST_TABLESPACE> Storage Tiering Tablespace Tierung Grenze 3. Partitionen werden in einen anderen Tablespace verlagert Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 67. Automatische Verlagerung am Beispiel Policy anlegen ALTER TABLE scott.employee ILM ADD POLICY TIER TO low_cost_store; ORDERS • Tablespace Threshold setzen/prüfen SELECT * FROM dba_ilmparameters; dbms_ilm_admin.customize_ilm(dbms_ilm_admin.tbs_percent_used,85); dbms_ilm_admin.customize_ilm(dbms_ilm_admin.tbs_percent_free,25); Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 68. Zusammenfassung Daten Klassifikation Automatische Erkennung Automatisches Durchführen WHAT IF and WHEN Then AUTOMATICALLY do Bereiche(Scope) Aktionen Bedingungen •Welche Operationen? Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Tablespace • Segment • Row/Block Voraussetzung: Heat Map • Komprimieren • Verlagern nach Storage Tier • Beides – Erzeugen – Keine Daten-Änderung – Kein Daten-Zugriff – Business Regel •Wann? – Nach 3 Tagen – Nach 1 Monat – Falls Tablespace voll
  • 69. Weitere Neuerungen für Compression Advisor in 12c • Graphische Implementierung im Enterprise Manager • Unterstützung von In-Memory Compression – Neue Konstanten • COMP_INMEMORY_NOCOMPRESS • COMP_INMEMORY_DML • COMP_INMEMORY_QUERY_LOW • COMP_INMEMORY_QUERY_HIGH • COMP_INMEMORY_CAPACITY_LOW • COMP_INMEMORY_CAPACITY_HIGH – Vor: In memory ColumnStore muss konfiguriert sein Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 70. Compression Advisor in Cloud Control Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 71. Weitere Informationen • OTN mit White Paper etc. http://www.oracle.com/us/products/database/options/advanced-compression/ overview/index.html • Weiteres White Paper: Oracle Advanced Compression Helps Global Fortune 500 Company Meet Storage Savings Initiative • Deutschsprachiges Dojo: Komprimierung in der Datenbank http://www.oracle.com/webfolder/technetwork/de/community/dojo/index.html • Veranstaltungen: tinyurl.com/oraclebudb Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |