How to Estimate the Size of Redo Logs

The best way to determine the optimal size of redo log files is to look into the alert.log file for messages about how frequently the log sequence# are changing, log check pointing and any incomplete redo log switch completion messages. When you examine your alert.log for log switches, you should do it when there are heavier loads in the database.

Every time Oracle does a log switch, it is recorded in the alert.log. The alert.log will have entries similar to the following:

Fri Feb 27 09:57:40 2019
ARC0: Evaluating archive   log 1 thread 1 sequence 174
ARC0: Beginning to archive log 1 thread 1 sequence 174
Creating archive destination LOG_ARCHIVE_DEST_1:
'/u02/app/oracle/product/64bit/9.2.0/dbs/arch/arc_1_174.src'
ARC0: Completed archiving  log 1 thread 1 sequence 174
Fri Feb 27 09:57:52 2019
Thread 1 advanced to log sequence 176
  Current log# 3 seq# 176 mem# 0: /u02/oradata/xxxx/redo03.log
Fri Feb 27 09:57:52 2019
ARC1: Evaluating archive   log 2 thread 1 sequence 175
ARC1: Beginning to archive log 2 thread 1 sequence 175
Creating archive destination LOG_ARCHIVE_DEST_1:
'/u02/app/oracle/product/64bit/9.2.0/dbs/arch/arc_1_175.src'
ARC1: Completed archiving  log 2 thread 1 sequence 175
Fri Feb 27 09:58:07 2019

Redo log switching should occur approximately every 20-30 minutes to get better database performance. If they switch too frequently, you will need to check the current size of redo log files from V$LOG and based on how frequently it is switching on an average, you will need to create redo log groups with bigger size and then switch the redo log a few times with “ALTER SYSTEM SWITCH LOGFILE;” so that the CURRENT redo log is one of the bigger redo log file and then drop the redo log groups with smaller size with ALTER DATABASE DROP LOGFILE … command.

The above snippet from alert.log file shows that the current redo logs are not big enough. Good advice/TIP would also be to spread the redo log files over multiple physical disks in order to improve performance during log switches. Please keep in mind that too frequent checkpoints and log file switch completion problems will affect database performance.

If there are waits on log file switch completion, you will need to add one or more redo log groups also to resolve this wait event in the Statspack report.