Oracle11g Compression

Embed Size (px)

Citation preview

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