Are there performance benefits to turning off archivelogging? Is it wise

backuporacleoracle-11g-r2

The first part of the question is pretty simple; has anyone run a DB in both archivelog and noarchivelog mode? Were there any measurable performance benefits to turning off logging that you could share?

The second half is a guess more specific to my circumstances but if anyone has any thoughts that'd be good. Currently our Master ( main writing box ) is running in archivelog mode complete with standby and table-level backups. The standby is tested twice weekly, and the backups more rarely. Not as evil as some but still not good. So, we've finally persuaded senior management to shell out for a shiny new box. It's lots better and hopefully won't blow up or fry the motherboard like the last one etc etc.

On this box we'll have hourly backups, replicated offsite down redundant fibre optics, and the backups will be tested at least daily, i.e. everything we can throw at it.

In this situation, and if the answer to the first part is positive, is it actually wise to run a DB in noarchivelog mode? If the box, or the discs die, it'll be quicker to start something up to takes it's place than it was previously and we don't mind losing an hours work if it means a significant improvement in speed.

It still seems a little bit dodgy though? I understand that we'd lose an hours work and are less worried about this than anything else we might have missed in our analysis of the implications of not having a standby.

Best Answer

The normal answer is: "Use archivelog mode". Unless you are taking cold backups you will not be able to recover from them without the log files archived during the backup.

If you are taking hourly cold backups and are running in noarchivelog mode, you risk losing an hours worth of committed transactions (which you don't mind). The purpose of archiving the logs is so that you can recover all (or nearly all) of the committed transactions after a media failure.

Whichever mode you choose Oracle still writes logs to the online redo log files - in archivelog mode you enable the archiving of those files as they fill up.

Performance benefits will not normally be significant - here is a list of special cases where there is a difference in redo generation.


Seeing as your 'backups' are ZFS snapshots, you do not need log files for restoring the database - reverting to a snapshot will be similar to recovery after a power loss and will use the snapshotted online redo logs to roll forward to a consistent state. In that specific case, and seeing that you do not mind losing recent data, noarchivelog mode may be acceptable to you.

Not having the standby will still increase your recovery time in the case of hardware failure on the primary however - you may wish to consider that.