SQL> alter database drop logfile group 2;
alter database drop logfile group 2
*
ERROR at line 1:
ORA-01624: log 2 needed for crash recovery of instance dbstat (thread 1)
ORA-00312: online log 2 thread 1: '/data1/dbstat/redo2.log'
SQL> alter system switch logfile;
System altered.
SQL> select * from v$Log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
1 1 12 2147483648 1 NO ACTIVE 203704 2009-09-17 19:04:23
2 1 11 52428800 1 NO ACTIVE 203206 2009-09-17 18:56:08
3 1 13 2147483648 1 NO CURRENT 203710 2009-09-17 19:04:38
SQL> alter system checkpoint;
System altered.
SQL> select * from v$Log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
1 1 12 2147483648 1 NO INACTIVE 203704 2009-09-17 19:04:23
2 1 11 52428800 1 NO INACTIVE 203206 2009-09-17 18:56:08
3 1 13 2147483648 1 NO CURRENT 203710 2009-09-17 19:04:38
SQL> alter database drop logfile group 2;
Database altered.
checkpoint由ckpt進程觸發oracle進行checkpoint動作,將data buffer中的髒塊(已經寫在redo裏記錄但是沒有寫到datafile裏的)的內容寫入到data file裏並釋放站用的空間,由dbw後臺進程完成,並修改controlfile和datafile的scn.
一般手工執行是由於要刪除某個日誌但是該日誌裏還有沒有同步到data file裏的內容,就需要手工check point來同步數據,然後就可以drop logfile group n.