有關重做日誌的狀態及switch logfile時的不正常案例分析
首先回顧一下有關重做日誌的狀態:
V$logfile:
INVALID - File is inaccessible
STALE - File's contents are incomplete
DELETED - File is no longer used
null - File is in use
V$log:
UNUSED - Online redo log has never been written to. This is the state of a redo log that was just added, or just after a RESETLOGS, when it is not the current redo log.
CURRENT - Current redo log. This implies that the redo log is active. The redo log could be open or closed.
ACTIVE - Log is active but is not the current log. It is needed for crash recovery. It may be in use for block recovery. It may or may not be archived.
CLEARING - Log is being re-created as an empty log after an ALTER DATABASE CLEAR LOGFILE statement. After the log is cleared, the status changes to UNUSED.
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.
INACTIVE - Log is no longer needed for instance recovery. It may be in use for media recovery. It might or might not be archived.
如下的案例是一個手工強制切換日誌的例子,其過程如下:
在windows xp上,9206版本。執行完alter system switch logfile後一直掛著,v$session_wait中switch logfile command的事件。具體為:
SQL> select * from v$session_wait where sid=11;
SID SEQ# EVENT P1TEXT P1 P1RAW P2TEXT P2 P2RAW P3TEXT P3 P3RAW WAIT_TIME SECONDS_IN_WAIT STATE
---------- ---------- ---------------------------------------------------------------- ---------------------------------------------------------------- ---------- -------- ---------------------------------------------------------------- ---------- -------- ---------------------------------------------------------------- ---------- -------- ---------- --------------- -------------------
11 1124 switch logfile command 0 00 0 00 0 00 0 517 WAITING
SQL>
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
1 1 0 104857600 1 YES CLEARING 11809968 2006-12-1 1
2 1 190 104857600 1 NO CURRENT 12328406 2006-12-6 1
3 1 189 104857600 1 YES ACTIVE 12327853 2006-12-6 1
SQL>
發覺日誌組1的狀態為CLEARING,對其執行clear命令:
SQL> alter database clear logfile 'C:ORACLEORADATAORA9IREDO01.LOG';
Database altered
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER
---------- ------- ------- --------------------------------------------------------------------------------
3 ONLINE C:ORACLEORADATAORA9IREDO03.LOG
2 ONLINE C:ORACLEORADATAORA9IREDO02.LOG
1 ONLINE C:ORACLEORADATAORA9IREDO01.LOG
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
1 1 0 104857600 1 YES UNUSED 11809968 2006-12-1 1
2 1 194 104857600 1 NO CURRENT 12374486 2006-12-6 1
3 1 193 104857600 1 YES INACTIVE 12374339 2006-12-6 1
SQL> alter system switch logfile;
System altered
SQL> alter system switch logfile;
System altered
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
1 1 195 104857600 1 YES ACTIVE 12379388 2006-12-6 1
2 1 194 104857600 1 YES ACTIVE 12374486 2006-12-6 1
3 1 196 104857600 1 NO CURRENT 12379391 2006-12-6 1
SQL>
一切正常!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/38542/viewspace-882078/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 記錄一則clear重做日誌檔案的案例
- 重做日誌管理
- mysql關於redo事務日誌ib_logfile的理解MySql
- MySQL重做日誌(redo log)MySql
- mysql關於ib_logfile事務日誌和binary log二進位制日誌的區別MySql
- MySQL重做日誌恢復資料的流程MySql
- Mysql 事務日誌(Ib_logfile)MySql
- Oracle11g redo log 建立、新增、刪除(重做日誌組,重做日誌檔案)Oracle
- MySQL 修改InnoDB重做日誌檔案的數量或大小MySql
- 關於11G DataGuard 日誌傳輸的案例
- CDN日誌實時分析
- TFA-收集日誌及分析
- 日誌分析-apache日誌分析Apache
- Linux中如何檢視日誌命令中的響應狀態?Linux
- oracle關閉狀態刪除活動日誌報錯恢復(一)Oracle
- 雲盾.態勢感知-實時日誌分析平臺上線
- 實戰案例:醫療臨床大資料實時流日誌分析大資料
- 解鎖Nginx日誌的寶藏:GoAccess——你的實時、互動式Web日誌分析神器!NginxGoWeb
- ELK實時分析之php的laravel專案日誌PHPLaravel
- java Thread的狀態分析Javathread
- [日誌分析篇]-利用ELK分析jumpserver日誌-日誌拆分篇Server
- GoAccess:一個實時的 Web 日誌分析器及互動式檢視器GoWeb
- Android-ANR總結及日誌分析Android
- 關於MySQL 通用查詢日誌和慢查詢日誌分析MySql
- Archived Redo Logs歸檔重做日誌介紹及其優點Hive
- 一起分析Nginx 日誌及效能排查Nginx
- Vben Admin 原始碼學習:狀態管理-錯誤日誌原始碼
- 【Logback日誌級別】動態調整Logback的日誌級別
- Linux 檔案系統與日誌分析的相關知識Linux
- 多執行緒的執行緒狀態及相關操作執行緒
- 日誌實時分析:從入門到精通
- 【VMware VCF】使用 SoS 實用程式檢查 VCF 環境的執行狀態以及收集相關元件的日誌資訊。元件
- crash日誌分析
- FDOAGENT日誌分析
- 微服務下,使用ELK做日誌收集及分析微服務
- Golang語言之Prometheus的日誌模組使用案例GolangPrometheus
- flink 有狀態(stateful)的計算
- 玄機-第二章日誌分析-apache日誌分析Apache
- Laravel 日誌有時候有許可權有時候沒有許可權?Laravel