La flash recovery area permette di ripristinare i dati del vostro db oracle anche a pochi minuti prima dell”‘incidente”.
Tuttavia, se non gestita correttaemente, quest’area continua a crescere fino ad raggiungere il limite massimo (configurato nell’impostazioni del db).
In questo caso potreste avere errori del tipo:
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 1 thread 1: ‘/oradata/…/redo01.log’
Per risolvere questo problema potete seguire la seguente procedura che utilizza sqlplus e rman.
avviate la vostra istanza oracle
se fosse già aperta chiudetela con
dopo aver avviato l’istanza controllate quale sia la dimensione attuale della flashbackarea
a questo punto dovrete aumentare leggermente le dimensioni della flashbackarea con il seguente comando
A questo punto chiudete e riavviate l’istanza.
SQL> startup open;
Quindi passiamo a RMAN.
Dove lanceremo il seguente script:
backup database;
backup (archivelog all delete input);
} allocate channel for maintenance device type disk;
delete obsolete device type disk;
Il seguente script di occupa di fare il backup dei file del database, poi dell’archive log. E dopo, quando questa operazione si è conclusa con successo, la flash recovery area viene ripulita. Ed infine, rimuove i backup obsoleti in accordo con le politiche di gestione dei backup di rman.
Quindi avviando questo script con una certa frequenza non incorreremo più nell’errore sopracitato.