REDO LOG Concepts

  • From: "DBA Deepak" <oracle.tutorials@xxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Thu, 17 May 2007 07:40:05 +0530

Hi All,

As we know when we issue a COMMIT the log buffer content is flushed to the
online redo log file before the "Commit complete" status is returned to the
user. Please correct me if I am wrong.

I have the following scenario...

SQL> select member from v$logfile;

MEMBER
--------------------------------------------------------------------------------

/u04/oradata/BIDWDB01/redo03.log
/u04/oradata/BIDWDB01/redo02.log
/u04/oradata/BIDWDB01/redo01.log

SQL> !rm /u04/oradata/BIDWDB01/redo01.log

SQL> !rm /u04/oradata/BIDWDB01/redo02.log

SQL> !rm /u04/oradata/BIDWDB01/redo03.log


SQL> connect scott/oracle
Connected.
SQL> update emp set ename=ename;

14 rows updated.

SQL> commit;

Commit complete.

SQL> commit;

Commit complete.

SQL> conn / as sysdba
Connected.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.


SQL> startup
ORACLE instance started.

Total System Global Area 4479516672 bytes
Fixed Size            1984504 bytes
Variable Size        905975816 bytes
Database Buffers      3556769792 bytes
Redo Buffers          14786560 bytes
Database mounted.
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u04/oradata/BIDWDB01/redo01.log'





-----------------------

My question is even after deleting all the online redo log files how did
Oracle returned the Commit complete status to the user? What happened to the
log buffer data flush?

I am using 10.2.0.2 on Solaris 9 (64-bit)


Regards,

Deepak

Other related posts: