Oracle zaznamenáva vykonané transakcie v tzv. redo (požadované zmeny v datafiles). Je to takto sekvenčne zapísané rýchlejšie a teda bezpečnejšie pre dáta.
Redo má organizované súbory v skupinách, ak sa zápisom jeden log (skupina viacerých mux. kópií logu) zaplní, prepne sa zápis do ďalšej skupiny. Po zaplnení poslednej skupiny sa prepne opäť na prvú (cykluje).
select l.group#, lf.member, l.bytes/1024/1024 mb, l.status, l.archived
from v$logfile lf, v$log l
where l.group# = lf.group#
order by 1, 2;
-------
1 /r01/oracle/DB1/redo/redo_001.rlg 100 CURRENT NO
2 /r01/oracle/DB1/redo/redo_002.rlg 100 UNUSED YES
3 /r01/oracle/DB1/redo/redo_003.rlg 100 INACTIVE YES
V prípade zapnutého archívneho módu DB sa pri každom prepnutí zaplnený redo súbor zároveň uloží do cesty log_archive_dest ako archívny log. Prípadne do cesty v db_recovery_file_dest, tzv. fast recovery area (FRA).
Logy odtiaľto číta RMAN pri zálohovaní, označí ich ako obsolete ak je podľa jeho nastavení spravený dostatočný počet záloh. Súbory tak môžu byť zmazané, ide teda o akési dočasné úložisko.
Ak však RMAN vypadne (napr. kvôli výpadku zálohovacieho HW), databáza pobeží len po dobu, kým nezaplní toto úložisko pre archívne logy, následné transakcie zastaví (tzv. archive stuck, DB vypisuje archiver error).
Povedzme, že chceme rátať s maximálnym výpadkom 2 dni. Ako správne nadimenzovať tento diskový priestor?