Dienstag, Oktober 19, 2010

Shrink LOB Segment

Vor ein paar Jahren habe ich hier beschrieben, wie man Lob-Segmente verkleinern kann, und das Verfahren seither auch noch ein paar Mal verwendet. Seit heute bin ich vorsichtiger, da ich Bug 5636728 begegnet bin: "FALSE ORA-1555 WHEN READING LOBS AFTER SHRINK". Die SHRINK-Operation lief erfolgreich, aber anschließend scheitern diverse Queries, die auf LOBs zugreifen, mit ora-01555-Fehlern, obwohl gar keine gleichzeitigen DML-Operationen im Spiel sind (wobei Lobs ihre Rollback-Informationen anscheinend selbst enthalten, so dass die Rollback Segmente in diesem Fall gar keine Rolle spielen). Besonders unerfreulich ist, dass auch die Dump-Erstellung mit diesem Fehler abbricht - es scheint keine Möglichkeit zu geben, die Lobs zu reorganisieren und wieder verfügbar zu machen. Da Oracle auch keinen Workaround anbieten kann, ist man auf die letzte Sicherung vor dem SHRINK angewiesen. Nein, das ist nicht ganz richtig, Oracle nennt doch einen Workaround: "Avoid using SHRINK on tables with LOB columns". Herzlichen Dank!

Keine Kommentare:

Kommentar veröffentlichen