Daten versionieren mit Oracle Database Workspace Manager
- by Heinz-Wilhelm Fabry (DBA Community)
Wie können extrem lange Transaktionen durchgeführt werden, also Transaktionen,
die Datensätze über Stunden oder Tage exklusiv sperren, ohne dass diese langen Transaktionen
'normale' Transaktionen auf diesen Datensätzen behindern? Solche langen Transakionen sind
zum Beispiel im Spatial Umfeld keine Seltenheit.
Wie können unterschiedliche historische Zustände von Produktionsdaten online zeitlich unbegrenzt
vorgehalten werden? Die UNDO Daten, die das gesamte Änderungsvolumen einer
Datenbank vorhalten, gewährleisten in der Regel nur einen zeitlich sehr limitierten Zugriff auf
'ältere' Daten. Und die Technologie der database archives, auch bekannt unter dem Namen Total Recall,
erlaubt einerseits keine Änderungen an den älteren Daten und steht andererseits
ausschließlich in der Enterprise Edition der Datenbank zur Verfügung.
Wie kann man die aktuellsten Produktionsdaten für WHAT-IF-Analysen verändern und währenddessen
andere Benutzer ungestört auf den Originaldaten weiterarbeiten lassen? Ein SET TRANSACTION READ ONLY
erlaubt keinerlei Änderungen und ist ebenfalls begrenzt auf die 'Reichweite' der UNDO Informationen.
Zwar könnte man für derartige Analysen eine Datenbankkopie aus dem Backup aufbauen oder
eine Standby Lösung implementieren, aber das ist doch eher aufwändig.
Es gibt eine verblüffend einfache Antwort auf diese scheinbar komplizierten Fragen. Sie heisst Oracle
Database Workspace Manager oder kurz Workspace Manager (WM). Der WM ist ein Feature der Datenbank
seit Oracle9i, das sowohl in der Standard als auch in der Enterprise Edition zur Verfügung steht.
Anders als in den ersten Versionen ist er längst auch Bestandteil jeder Installation. Um
so erstaunlicher ist es, dass so wenige Kunden ihn kennen. Dieser Tipp soll dazu beitragen,
das zu ändern.