OPEN RESETLOGS 啟動,報ORA-00392 ORA-00312錯誤
錯誤資訊:
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-00392: log 3 of thread 1 is being cleared, operation not allowed
ORA-00312: online log 3 thread 1: '/orabase/bak/oradata/orcl/redo03.log'
官方解釋:
CLEARING_CURRENT - Current log is being cleared of a closed thread. The log can stay in this status if there is some failure in the switch such as an I/O error writing the new log header.
CLEARING - Log is being re-created as an empty log after an ALTER DATABASE CLEAR
重做記錄檔的集中狀態:*(摘)*
1.CURRENT - 當前正在被LGWR使用的group(同時是ACTIVE狀態),其中記載資料庫中進行中的更改,刪除將導致恢複時資料丟失。
2.ACTIVE - 活動的記錄檔狀態,日誌完成切換或等待檢查點事件時都可能出於這種狀態,不是CURRENT的日誌但是執行個體恢複時是需要的,此時的日誌有可能已經完成了歸檔,即將變成INACTIVE狀態,或者記錄檔在等待Checkpoint事件沒有完成歸檔。
3.INACTIVE - 非活動的日誌狀態,此時的日誌執行個體恢複時不再需要,可能已經歸檔。
4.UNUSED - 尚未記錄change的空白日誌組,一般會出現在add logfile, resetlogs開啟資料庫或者使用了clear logfile命令後。
5.CLEARING - 表示該組重做記錄檔正在被ALTER DATABASE CLEAR LOGFILE語句重建中(重建後狀態會變成unused)。
6.CLEARING_CURRENT - 表示該組重做記錄檔重建時出現錯誤,出現對記錄檔的I/O故障就會出現這種狀態。
解決辦法:
SQL> select group#,bytes/1024/1024||'M',status from v$log;
GROUP# BYTES/1024/1024||'M' STATUS
---------- ----------------------------------------- ----------------
1 40M CLEARING
3 40M CLEARING_CURRENT
2 40M CLEARING
SQL> alter database clear logfile group 1;
Database altered.
SQL> alter database clear logfile group 2;
Database altered.
SQL> alter database clear logfile group 3;
Database altered.
SQL> alter database open resetlogs;
Database altered.
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER IS_
---------- ------- ------- -------------------- ---
3 ONLINE /orabase/bak/oradata NO
/orcl/redo03.log
2 ONLINE /orabase/bak/oradata NO
/orcl/redo02.log
1 ONLINE /orabase/bak/oradata NO
/orcl/redo01.log
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機器中安裝步驟
Debian 下 安裝 Oracle 11g XE R2