Wird es wieder mal eng im Tablespace?
In unserem heutigen Tipp wollen wir ein neues Feature der Oracle Datenbank 11g etwas näher vorstellen:
OLTP Tabellenkompression
Als Erstes ein kurzer Blick zurück. Wie wurden Tabellen bisher komprimiert?
Direct Path Table Compression
Nun zur aktuellen Neuerung in Oracle 11g
OLTP Tabellenkompression
Mit der aktuellen Datenbank Oracle 11g wurde die OLTP Tabellenkompression erweitert. Mit dem neuen Kompressions-Algorithmus werden auch "normale" DML Anweisungen (insert, update, delete) unterstützt.
Datensätze werden im ersten Schritt unkomprimiert in die Tabellen geschrieben. Erreicht ein Datenblock die PCTFREE-Grenze wird die Kompression gezündet und der Block komprimiert. Weitere Inserts landen wieder unkomprimiert im Block bis erneut die PCTFREE-Grenze erreicht wird.
Einige Vorteile kurz zusammengefasst:
Um OLTP Tabellenkompression nutzen zu können gilt es Folgendes zu beachten:
Um die Platzersparnis zu verdeutlichen legen wir mit diesem Skript zwei Tabellen an, eine komprimiert, die andere unkomprimiert. Beide Tabellen werden auf identische Weise mit ca. 54.000 Datensätzen befüllt. Eine Abfrage auf die View USER_SEGMENTS zeigt uns, wie viel Platz durch die Komprimierung gespart werden kann.
create table uncompressed
as select * from all_objects
where 1=2;
create table compressed
compress for all operations
as select * from all_objects
where 1=2;
insert into uncompressed select * from all_objects
order by owner, status, object_type;
insert into compressed select * from all_objects
order by owner, status, object_type;
commit;
select segment_name, blocks, bytes /1024 kb
from user_segments
where segment_name like '%COMPRESS%';
SEGMENT_NAME BLOCKS KB
------------------------------ ---------- ----------
COMPRESSED 512 4096
UNCOMPRESSED 1024 8192
Weiterführende Informationen zur OLTP Tabellenkompression und weiteren Neuerungen von Oracle 11g bekommen Sie in unserer Schulung "Oracle 11g Neuerungen".
In unserer Know-How Datenbank finden Sie mehr als 300 ausführliche Beiträge zu den
Oracle-Themen wie DBA, SQL, PL/SQL, APEX und vielem mehr.
Hier erhalten Sie Antworten auf Ihre Fragen.