Oracle KomprimierungVorteile von Komprimierung im Oracle-Umfeld
Komprimierung fhrt zu einem geringeren Platzbedarf und hat damit folgende Vorteile:
geringere Datenbankgre geringere Kosten fr Plattenbelegung bessere Ausnutzung des Oracle Buffer Pools durch hhere Datendichte verbesserte Performance, da weniger Blcke zu lesen sind und auch weniger Verdrngungen aus dem Buffer Pool stattfinden
1
Oracle KomprimierungWelche Arten von Komprimierung werden angeboten? Index-Komprimierung Eine definierte Anzahl fhrender Index-Spalten wird durch Elimination doppelt vorkommender Werte komprimiert Tabellen-Komprimierung In einem Tabellenblock mehrfach vorkommende Werte werden nur einmal in einer Symboltabelle gespeichert und je nach Bedarf referenziert Securefile-Komprimierung Daten einer Securefile-Spalte werden mit einem klassischen Komprimierungsalgorithmus gepackt
2
Index-KomprimierungNachteile und Einschrnkungen werden Spalten mit vielen Ausprgungen in die Komprimierung
einbezogen, kann der komprimierte Index sogar deutlich grer sein als der Originalindex. Daher ist es wichtig, die Komprimierung auf sinnvolle Spalten zu beschrnken. das SAP Data Dictionary untersttzt Index-Komprimierung nicht. Wenn ein
Index daher mit Transaktion SE14 oder im Rahmen eines Transports neu aufgebaut wird, verliert dieser die Kompressionseigenschaft. Erst ab SAP 7.00 Basis-SP 21 bleibt die Komprimierung im Rahmen einer Umsetzung erhalten.
greifen aufgrund des Index- und Anwendungsdesigns viele Sessions
gleichzeitig auf bestimmte Leaf-Blcke zu, kann sich das Bottleneck durch Index-Komprimierung verstrken, weil mehr Datenstze in einem einzelnen Block zu finden sind. SAP liefert keine komprimierten Indizes aus
3
Index-KomprimierungVoraussetzungen, die zu erfllen sind nur fr B*Tree-Indizes, nicht fr Bitmap-Indizes Temporary Tablespace PSAPTEMP muss mindestens so gro sein wie der
grte neu aufzubauende Index. Ohne ausreichenden Temporary Tablespace kann der Index-Neuaufbau scheitern. freien Speicherplatz des Tablespace prfen, der den neu aufzubauenden
Index enthlt. Faustregel: Der freie Speicherplatz des Tablespace sollte so gro sein, dass der neu aufzubauende Index zweimal darin abgelegt werden knnte.(AUTOEXTEND fr Tablespace einschalten)
4
Index-KomprimierungVorteile Untersttzung der Index-Komprimierung mit SAP ab Version 10g Index wird bei der Indexkomprimierung implizit reorganisiert freier Platz im Tablespace ist sofort verfgbar
5
Index-KomprimierungVorgehen - Hinweis 1109743 Scripte aus Anhang des Hinweises downloaden
- IX_COMP_LINE_TYPICAL.sql- IND_COMP3P.sql
Sammlung an typischen Indexes Oracle-Makro (erstellt Compress-Script)
Ausgabeverzeichnis einrichtenconnect / as sysdba create directory "~IND_COMP_DIR" as ' grant read, write on directory "~IND_COMP_DIR" to ;
Als Shema-User anmelden:sqlplus sapdat/PASSWORD
/
das PL/SQL-Paket kompilierenstart /home/gt1adm/CompressIndex/indcomp.sql
6
Index-KomprimierungVorgehen II - Hinweis 1109743 SQL> exec ind_comp.get_column('GLPCA');Output Processing table SAPDAT . GLPCA Processing index GLPCA~0 Identified index GLPCA~1 as low selectivity Processing index GLPCA~2 Processing index GLPCA~3 Identified index GLPCA~7 as low selectivity Rebuild "SAPDAT" . "GLPCA~0" compress 1 ; Rebuild "SAPDAT" . "GLPCA~1" compress 5 ; Rebuild "SAPDAT" . "GLPCA~2" compress 6 ; Rebuild "SAPDAT" . "GLPCA~3" compress 5 ; Rebuild "SAPDAT" . "GLPCA~7" compress 5 ; Rebuild PL/SQL procedure successfully completed.
SQL>
7
Index-KomprimierungBeispielOwner SAPDAT
GLFUNCA~2Name Type Tablespace GLFUNCA~2 INDEX PSAPDAT Size(MB) #Extents #Blocks 823,00 39 105.344 Next Extent(MB) 759,00
Ausgangslage
Aus Macro erstelltes Scriptspool GLFUNCA-2_IX_COMP.log col index_name format a30 col partition_name format a30 alter index "SAPDAT" . "GLFUNCA~2" parallel 4 pctfree 1; alter index "SAPDAT" . "GLFUNCA~2" spool off
rebuild online compress 6 noparallel;
tablespace PSAPDAT /
Laufzeit / Ergebnis--> 4 Min --> 450 MB Redologs --> 823 MB (vorher) --> 759 MB (nachher) 7,8% saved
8
Index-KomprimierungBeispiel 2 Besser:: alter index "SAPDAT" . "GLFUNCA~2" rebuild online compress 6 parallel 4 pctfree 1 storage (initial 64k); : tablespace PSAPDAT /
GLFUNCA~2
Laufzeit / Ergebnis--> 759 MB (vorher) --> 395 MB (nachher) 48% saved
Index-Name size (uncomp) size (comp) saved -------------------------------------------------COEP~1 3221 1700 52% COEP~Z5 2175 1743 20% COEP~Z45 1125 1153 COEP~0 1125 1097 3%
BERPRFUNGSQL> select index_name, compression from user_indexes where / index_name like GLFUNCA%'; INDEX_NAME COMPRESS ------------------------------ -------GLFUNCA~0 DISABLED GLFUNCA~3 DISABLED GLFUNCA~2 ENABLED GLFUNCA~1 DISABLED9
Index-KomprimierungBeispiel 3 COEP
10
Index-KomprimierungHinweise sapnote_0001289494
FAQ: Oracle Komprimierung sapnote_0001109743
Komprimierung von Indexschlsseln fr Oracle-Datenbanken sapnote_0001438410
SQL-Skriptsammlung fr Oracle sapnote_0001464156
Untersttzung fr Index-Komprimierung in BRSPACE 7.20
11
Advanced CompressionVoraussetzungen (Oracle) Oracle Database Release 11.2.0.2 oder hher SAP Dezember 2010 Bundle Patch oder hher
(um gute Performance fr OLTP-komprimierte Tabellen zu erzielen) Advanced Compression Option (ACO)
- Kunden, die ihre Oracle-Lizenz direkt bei Oracle erworben haben, mssen diese Zusatzoption kaufen. - Kunden, die ihre Oracle-Lizenz ber SAP erworben haben, mssen besitzen die Option
12
Advanced CompressionVoraussetzungen (SAP) Oracle AP Kernel 6.40 und hher 6.40 untersttzt die Komprimierung nur begrenzt, da das ABAP Dictionary Komprimierungsattribute ignoriert, die auf Ebene der Datenbanktabelle ber BRSPACE oder direkt auf Ebene der Datenbank implementiert wurden. Die vollstndige DDIC-Untersttzung der Komprimierungsattribute beginnt
mit folgenden Support Packages:SAP_BASIS 7.00 Support Package 21 SAP_BASIS 7.01 Support Package 06 SAP_BASIS 7.02 Support Package 02 SAP BASIS 7.10 Support Package 10 SAP BASIS 7.11 Support Package 05
SAP BRSPACE Release 7.20 (Patch 3) und hher - ab Patch 3 werden Tabellen und Indizes gemeinsam reorganisiert/komprimiert - immer das aktuelle Release!!!
13
Advanced CompressionVorgehen I neuen Tablespace anlegenLMTS (locally managed) ASSM (automatic segment space management).
brtools --> brspace
------------------Main 1 2 3 4 5 6 7 8 options for creation of tablespace in database GT1 - Tablespace name (tablespace) ......... [PSAPDAT_C] - Tablespace contents (contents) ....... [data] - Segment space management (space) ..... [auto] - Database owner of tablespace (owner) . [SAPDAT] ~ Table data class / tabart (class) .... [] - Data type in tablespace (data) ....... [both] # Joined index/table tablespace (join) . [] ~ Uniform size in MB (uniform) ......... []
9 - Tablespace compression (compress) .... [ ] 10 - Tablespace encryption (encrypt) ...... [no] 11 # Encryption algorithm (algorithm) ..... []
NO
SQL ................create tablespace PSAPDAT_C extent management local autoallocate segment space management auto default datafile '/oracle/GT1/sapdata/datc_c_1/dat_c.data1' size 1000M autoextend on next 100M maxsize 30000M;14
Advanced CompressionVorgehen II Tabellen (Indexes)brspace u / -f tbreorg a o -s -t tabellen* -n -c -lc -ic -l 2 -SCT
-a -c -ic -lc -l 2 -SCT
long2lob | lob2lob | reorg ctablobind indexcompr. lobcompr. setzt initial extend auf 64k exclude SAP compressed tables
15
Advanced CompressionVorgehen III Tabelle/n (Indexes)brspace -u / -f tbreorg -o SAPDAT -s PSAPDAT -t C* -n PSAPDAT_C -c ctablobind -lc medium -ic ora_proc l 2 -SCT BR1914W Table SAPDAT.CACS_OAINDX is a SAP compressed table BR1111I Reorganization of table SAPDAT.CACS_OAINDX will be skipped : Small index SAPDAT.C003~0 will not be compressed
LOBSbrspace -u / -f tbreorg -a lob2lob -o SAPDAT -s PSAPDAT -t FPLAYOUT -n PSAPDAT_C -c ctablobind -lc medium -ic ora_proc l 2 -SCT
16
Advanced CompressionAusnamebehandlung bei Tabellenkomprimierung Tabellen mit mehr als 255 Spalten (Oracle-Vorgabe) SAP Pool-Tabellen (z.B. ATAB, UTAB) SAP Cluster-Tabellen (z.B. CDCLS, RFBLG) Index-artige Tabellen (z.B. BALDAT, SOC3) ABAP-Source- and ABAP-Load-Tabellen REPOSRC und REPOLOAD Verbuchungstabellen VBHDR, VBDATA, VBMOD und VBERROR RFC-Tabellen ARFCSSTATE, ARFCSDATA, ARFCRSTATE,
TRFCQDATA,TRFCQIN, TRFCQOUT, TRFCQSTATE, QRFCTRACE, QRFCLOG, NRIV
17
Advanced CompressionErgebnisse Komprimierung prfensqlplus sapdat/PASSWORD
SELECT table_name, compression, compress_for FROM user_tables where compression = 'ENABLED'; TABLE_NAME -----------------------------COEP GLPCA COMPRESS -------ENABLED ENABLED COMPRESS_FOR -----------OLTP OLTP
18
Advanced CompressionErgebnisse
19
Advanced CompressionErgebnisse
20
Advanced CompressionErgebnisse Komprimierung prfen (brspace)Information about table SAPDAT.FPLAYOUT 1 - Partitioned table (partitioned) ..... 2 - Number of partitions (partitions) ... 3 - Monitoring attribut (monitoring) .... 4 - Parallel degree (degree) ............ 5 - Index-organized table (iot) ......... 6 - Number of indexes (indexes) ......... 7 - Table compression (compress) ........ 8 - LOBs / LOB compression (lobs_compr) . 9 - Tablespace name (tablespace) ........ : : 1 - Partitioned table (partitioned) ..... 2 - Number of partitions (partitions) ... 3 - Monitoring attribut (monitoring) .... 4 - Parallel degree (degree) ............ 5 - Index-organized table (iot) ......... 6 - Number of indexes (indexes) ......... 7 - Table compression (compress) ........ 8 - LOBs / LOB compression (lobs_compr) . 9 - Tablespace name (tablespace) ........ NO YES 1 NO 2 NO BASIC / PSAPDAT
NO YES 1 NO 2 OLTP SECURE / Medium PSAPDAT_C
21
Advanced CompressionErgebnisse bei bestimmten Operationen (z.B. Masseneinfgungen in BW PSA oder ODS-
Tabellen/Partitionen) knnen sehr lange Laufzeiten auftreten (d. h. 5- bis 10-mal langsamer) dann: "event 10447 level 50" (spfile/init.ora) es knnen bis zu 30% mehr Redo-Daten generiert werden. die physischen Lesezugriffe auf Datenbank verringern sich um bis zu 60%. die physischen Schreibzugriffe auf Datenbank verringern sich um bis zu 5%. es kann eine Verbesserung der Trefferrate des Datenbankpuffers um bis zu
10% erreicht werden. Auswirkungen auf die CPU-Nutzung wegen regelmiger Transaktionslast
bestehen nicht. bestimmte Operationen wie R3load-Importe (auer "loadprocedure fast") oder
Client-Kopien gehen u. U. langsamer vonstatten
22
Advanced CompressionHinweise sapnote_0001289494
FAQ: Oracle Komprimierung sapnote_0001436352
Oracle 11g: Advanced Compression fr SAP-Systeme sapnote_0001431296
LOB-Umsetzung und Tabellenkomprimierung mit BRSPACE 7.20
23
Oracle Komprimierung
24