Oracle REDO Management (LOG File)

  • The database maintains online redo log files to protect against data loss.
  • Specifically, after an instance failure, the online redo log files enable Oracle Database to recover committed data that it has not yet written to the data files.
  • Server processes write every transaction synchronously to the redo log buffer, which the LGWR process then writes to the online redo log.
  • Oracle Database uses the online redo log only for recovery. Redo log files are a useful source of historical information about database activity.

When will LGWR write to Redo Log File:

  • On transaction commit (COMMIT).
  • Every 3 seconds (timeout).
  • When the Redo Log Buffer is one-third full.
  • Before DBWR writes dirty buffers to data files.
  • During a log switch.
  • During a checkpoint.
  • When the Redo Log Buffer is full.
  • When a background process requires redo data.

The redo records have all relevant metadata for the change, including the following:

  • SCN and time stamp of the change
  • Transaction ID of the transaction that generated the change.
  • SCN and time stamp when the transaction committed (if it committed)
  • Type of operation that made the change.
  • Name and type of the modified data segment

It Can be organized into groups. At least minimum 2 groups required for a single database.

  • Logical – Group
  •  Physical- Member (Minimum 1 to Maximum 8 can set for a single DB)

Log File – Logical

Logical unit of logfile know as Group. There are minimum 2 group to maximum 32 group can set for a single database.

Log File Group: status

Group Status

Description

Unused

Its newly added redolog group.

Current

Its active to redogroup lgwr enabled.

Active

Its active to arwr enabled to offline backup

Clearing

Its recreated after clearing the group.

Clearing_current

Its being clearing.

Inactive

The group already archived, ready to reuse.

select sequence#, group#,members,status from v$log;

select member from v$logfile where group#=1;

alter database add logfile group 4;

alter database add logfile group 4 'u01/app/oracle/oradata/PEARL/onlinelog/log4a.log' size 200m;

ALTER DATABASE DROP LOGFILE GROUP 4;

Clearing a Log File Group:

alter database clear logfile group 1;

alter database clear unarchived logfile group 4;

alter database clear logfile group 4;

ALTER DATABASE ADD LOGFILE MEMBER '/u01/app/oracle/oradata/PEARL/onlinelog/log4a.log' TO GROUP 4;

select member from v$logfile where group#=4;

Switch the Log File:

alter system switch logfile;

ALTER DATABASE DROP LOGFILE MEMBER '/u01/app/oracle/oradata/PEARL/onlinelog/log4b.log';

select a.group#, a.status, b.status from v$log a, v$logfile b where a.group#=b.group#;

Log File Member Status:

Member Status

Description

Invalid

Unable to access, must drop and recreate it.

Stale

File contents incomplete.

Deleted

No longer use, drop in OS level.

Blank

The file is use now.

select group#,status from v$log;

select member from v$logfile where group#=4;

Relocation And Rename:

shut immediate

Goto Redo log file location

cp -rf log4a.log redo10.log   # no Space use move command

startup mount

select member from v$logfile;

alter database rename file '/u01/app/oracle/oradata/PEARL/onlinelog/log4a.log' to '/u01/app/oracle/oradata/PEARL/onlinelogredo10.log';

select member from v$logfile;

alter database open;

select group#,status from v$log;

Logfile Views:

v$log, v$logfile, v$loghistory

Restriction to drop groups

  • An Instance required at least 2 group of online redologfile.
  • An active or current group cannot be dropped.
  • When an online redo logfile group is dropped, the os file not dropped.

Restriction to drop Members

  • Can’t drop the last valid member of the group.
  • Can’t drop the current log file member.
  • Can’t drop the unarchived group member.
  • The OMF features group only allowed to drop a member physically.

Comments