The redo logs store all transactions which alter the database, all committed updates, adds, deletes of tables, structures or data. If archiving is disabled, only data in the current off-line and on-line redo logs can be recovered.

If the system recycles through all redo logs, the old ones are reused, destroying their old contents. If archive logging is enabled, the redo logs are written out to storage before reuse. Archive logging allows recovery to a specific point in time since the last full cold backup. Archive logs cannot be used in conjunction with exports for recovery. You must either use backups and archives or exports, not both.

Archiving Insights:

  • Archive logging is strongly suggested for all Oracle databases. 
  • Archive logging is automatic, it may consume disk resources in a highly active environment. If recovery is required, the system will ask for the archive logs it needs and recovery from them. Archive logs allow point in time recovery. To use hot backup, archive logging is required. Some sites switch on archive logging during a hot backup and then switch it off; however, this means they can only recover to the time of the last archive. 
  • Using Oracle INIT.ORA parameters, the destination, frequency and size of archive logs can be controlled, although the size of the redo log plays more of a role in the frequency of archive logging than any initialization parameter.
  • Archive logs can be written to tape, disk or WORM drives.

The most important items in redo log setup are size and quantity.

  • The size of redo logs should be sized so that if the active redo log is lost, you won't lose a critical amount of data. 
  • Since redo logs are used in a serial manner, the quantity should be enough, based on the transaction volume and speed of archiving, to ensure that users aren't waiting for archive logs.

Redo logs are specified in groups; each group forms a shadow set and is archived together. Archive logs can be assigned to threads for use in parallel or shared instances. Individual logs are called members. Threads hold groups that hold members. Each member of a redo log group is the same size and should be on separate physical platters. Oracle automatically synchronizes members of a group into a shadow set.

You must have a minimum of two groups of redo logs with at least one member. Redo log members are mirrors of each other. More than two is a bit paranoid, less than two doesn't provide protection in case of a single point failure.

An Oracle instance will startup as long as one member of each redo log group is available. There will be no warning that this has occurred, therefore it is essential to check the instance's alert log after startups.

Start the discussion at