In passato, si utilizzava il parametro di archiviazione PCTVERSION per i propri segmenti LOB per riservare una percentuale di spazio di archiviazione per la coerenza di lettura dei segmenti LOB. In Oracle 11g, ora puoi utilizzare il parametro RETENTION. Il parametro RETENTION utilizzerà il parametro UNDO_RETENTION per determinare per quanto tempo conservare i dati LOB a fini di coerenza di lettura. Ma tieni presente che non utilizza il tablespace Annulla! Il tablespace del segmento LOB viene utilizzato per scopi di coerenza di lettura.
Quando si modifica il parametro UNDO_RETENTION, il valore di conservazione del segmento LOB non viene modificato. Se si interroga la colonna RETENTION della vista DBA_LOBS, si noterà che il vecchio valore UNDO_RETENTION rimane ancora dopo aver modificato il parametro UNDO_RETENTION. Per modificare il valore RETENTION del segmento LOB in modo che corrisponda al nuovo valore UNDO_RETENTION, procedi come segue:
ALTER TABLE my_table MODIFY LOB (lob_column) (PCTVERSION 20);
ALTER TABLE my_table MODIFY LOB (lob_column) (RETENTION);
Modificando momentaneamente il LOB per utilizzare PCTVERSION e quindi tornando a RETENTION, verrà utilizzato il nuovo valore di UNDO_RETENTION. Devi farlo per tutti i segmenti LOB che intendi modificare.