In Oracle databases, redo logs play a critical role in ensuring data integrity and recoverability. They record all changes made to the database, which can later be used for recovery in case of failures.
A log switch happens when Oracle stops writing to the current redo log file and starts writing to the next one in the redo log group.
👉 Log switches can occur in two ways:
- Automatic – When the current redo log file fills up.
- Manual – When a DBA explicitly forces the switch.
Manually switching redo logs is often required during maintenance, backup activities, or testing scenarios.
Steps to Switch Redo Log Files Manually
Step 1: Check Current Redo Logs
Before forcing a switch, it’s a good idea to check the current redo log groups and their statuses.
SELECT GROUP#, STATUS, ARCHIVED FROM V$LOG;
Step 2: Force a Log Switch
To manually switch the redo log file
ALTER SYSTEM SWITCH LOGFILE;
Step 3: (Optional) Force a Checkpoint
A checkpoint ensures that all modified database buffers are written to disk, which improves recoverability.
ALTER SYSTEM CHECKPOINT;
Step 4: Verify After Switch
SELECT GROUP#, STATUS, ARCHIVED FROM V$LOG;
Example Output
SQL> ALTER SYSTEM SWITCH LOGFILE;
System altered.
SQL> SELECT GROUP#, STATUS FROM V$LOG;
GROUP# STATUS
------ --------
1 ACTIVE
2 CURRENT
3 INACTIVE
Why Manual Log Switch Is Useful?
For Archiving – To trigger archiving of redo logs before maintenance.
During Backups – To ensure all redo entries are archived before taking a backup.
For Testing – To validate redo log configuration.