Montag Okt 20, 2014

Advanced Index Compression in Oracle Database 12c (12.1.0.2)

Komprimierung im Index gibt es schon sehr lange in der Oracle Datenbank. Die Verwendung von Bitmap Indizes besonders bei Zugriffen aus den Data Warehouse Umgebungen ist nicht mehr wegzudenken. Weniger bekannt war sehr lange der sogenannte Key Compression Index (auch Prefix Index), der kein spezielles Locking erfordert und somit auch im OLTP Umfeld von Nutzen sein kann. Durch seine spezielle Implementierung sind allerdings nicht alle Schlüssel geeignet für diese Art der Komprimierung.

Diese Lücke wird mit 12.1.0.2 geschlossen! Es gibt eine neue Art der Index Compression, die Advanced Index Compression. Wie diese neue Komprimierung funktioniert und welche Voraussetzungen erfüllt sein müssen, lesen Sie im aktuellen Tipp.

Freitag Mai 30, 2014

Flashback Data Archives: Ein gutes Gedächtnis für DBA und Entwickler

Daten werden gespeichert und zum Teil lange aufbewahrt. Mitunter werden Daten nach ihrer ersten Speicherung geändert, vielleicht sogar mehrfach. Je nach gesetzlicher oder betrieblicher Vorgabe müssen die Veränderungen sogar nachverfolgbar sein. Damit sind zugleich Mechanismen gefordert, die sicherstellen, dass die Folge der Versionen lückenlos ist. Und implizit bedeutet das zusätzlich, dass die Versionen auch vor Löschen und Verändern geschützt sein müssen.

Das Versionieren kann über die Anwendung, mit der die Daten auch erfasst werden, erfolgen, über Trigger oder über besondere Werkzeuge. Jede dieser Lösungen hat ihre eigenen Schwächen. Zusätzlich steht die Frage nach dem Schutz vor unerlaubtem Löschen oder Ändern versionierter Daten im Raum. Flashback Data Archives lösen diese Frage, denn sie bieten nicht nur einen wirksamen Mechanismus zum Versionieren von Datensätzen, sondern sie schützen diese Versionen auch vor Veränderung und löschen sie schließlich sogar automatisch nach Ablauf ihrer Aufbewahrungsfrist.

Ursprünglich wurden die Archive als eigenständige Option zur Enterprise Edition der Oracle Database 11g unter dem Namen Total Recall eingeführt. Ende Juni 2012 verloren die Flashback Data Archives ihren Status als eigenständige Option. Weil die Archive aber grundsätzlich komprimiert wurden, hat Oracle sie stattdessen zu einem Feature der Advanced Compression Option der Enterprise Edition (ACO) gemacht. Seit der Version 11.2.0.4 der Datenbank ist das Komprimieren aber für die Archive nicht mehr zwangsläufig, sondern optional. Damit gibt es lizenzrechtlich erneut eine Änderung: Wer die Kompression verwendet, der muss nach wie vor ACO lizensieren. Wer die Flashback Data Archives dagegen ohne Kompression verwendet - also zum Beispiel Entwickler -, dem stehen sie ab 11.2.0.4 aufwärts im Lieferumfang aller Editionen der Datenbank zur Verfügung. Diese Änderung ist in den Handbüchern zur Lizensierung der Versionen 11.2 und 12.1 der Datenbank dokumentiert.

Im Rahmen der DBA Community ist bereits über die Flashback Data Archives berichtet worden. Der hier vorliegende Artikel ersetzt alle vorangegangenen Beiträge zum Thema.

Sonntag Mrz 04, 2012

Rückrechnen von komprimierten Daten mit DBMS_COMPRESSION

Seit 11g Release 2 steht standardmässig ein Compression Advisor in der Datenbank zur Verfügung. Ohne zusätzliche Installation ist dieser Advisor über das Package DBMS_COMPRESSION in jeder Edition sofort einsetzbar. Im Gegensatz zum alten "Compression Advisor", der für Versionen vor 11g Release 2 von OTN geladen werden kann, ist diese Technologie auch für partitionierte Tabellen und für alle vorhandenen Komprimierungsalgorithmen (auch EHCC) einsetzbar. Eine graphische Implementierung existiert allerdings noch nicht (Stand Februar 2012), so dass man sich mit der Syntax auseinandersetzen muss. Für partitionierte Tabellen bedeutet dies übrigens, dass man pro Partitionssegment eine Berechnung durchführen muss. Ausserdem kann keine Aussage über Securefile Komprimierung getroffen werden.

Nun stellt sich die Frage, ob man den Compression Advisor auch dazu verwenden kann, eine Rückrechnung durchzuführen? Das heisst, man gibt ein komprimiertes Segment vor und möchte berechnen, wie groß das unkomprimierte Segment war. Auch dies kann mit der Prozedur GET_COMPRESSION_RATIO bewerkstelligt werden.

Der folgende Tipp zeigt anhand eines Beispiels, wie das Package DBMS_COMPRESSION für diesen Zweck verwendet werden kann.
About

Hier finden Sie aktuelle Tipps rund um die Oracle Datenbank.
Ulrike Schwinn, Ralf Durben
Heinz-Wilhelm Fabry und
Sebastian Solbach
ORACLE Deutschl. B.V. & Co. KG

Search

Categories
Archives
« März 2015
MoDiMiDoFrSaSo
      
1
3
4
5
7
8
9
10
11
13
14
15
16
17
18
19
21
22
23
24
25
26
27
28
29
30
31
     
Heute