Oracle Redo日誌的狀態

來源:互聯網
上載者:User

CURRENT:指的是當前的記錄檔,該記錄檔是活動的,當前正在被使用的,在進行崩潰恢複時,Current的記錄檔時必須的。

ACTIVE:活動的非當前日誌,該日誌可能已經完成歸檔也可能沒有歸檔,活動的記錄檔在Crash恢複時會被用到。

  ACITVE狀態意味著檢查點尚未完成,如果記錄檔迴圈使用再次到達該檔案,資料庫將處於等待的停頓狀態,此時在alert檔案中,可以看到類似如下記錄:Checkpoint not complete。當這種問題出現時,可以從資料庫內部通過v$session_wait來觀察,該視圖會顯示資料庫當前哪些session正處於這種等待。Checkpoint not complete在資料庫中體現為等待事件log file switch(checkpoint incomplete):

SQL> select sid,event,state from v$session_wait;---查詢結果中event的值為:log file switch

  在此同時,可能DBWR進程進行中db file parallel write,記錄檔必須等待DBWR完成檢查點觸發的寫操作之後才能被覆蓋。如果設定了參數log_checkpoints_to_alert為TRUE的話,還可以在alert檔案中清晰地看到檢查點的增進和完成情況。

引起Checkpoint Incomplete可能有以下多種原因

記錄檔過小,切換過於頻繁;

日誌組太少,不能滿足正常業務量的需要;

記錄檔所在磁碟I/O存在瓶頸,導致寫出緩慢,阻塞資料庫正常運行;

由於資料檔案磁碟I/O瓶頸,DBWR寫出過於緩慢;

由於事務量巨大,DBWR負載過高,不堪重負。

解決方案

適當增加記錄檔大小;

適當增加日誌組數;

使用更快的磁碟儲存記錄檔(如採用更高轉速磁碟;使用RAID10而不是RAID5等方式);

改善磁碟I/O的效能;

使用多個DBWR進程或使用非同步I/O等。

注意:Checkpoint Incomplete是一類嚴重的等待,它意味著資料庫不能再產生日誌,所有資料庫修改操作將全部掛起。

INACTIVE:非活動紀錄,該日誌在執行個體恢複時不再需要,但是在介質恢複時可能會用到。INACTIVE狀態的日誌也可能沒有被歸檔。如果資料庫啟動在歸檔模式,在未完成歸檔之前,記錄檔也不允許被覆蓋,這時候活動進程會處於log file switch(archiving needed)等待之中。日誌是否完成歸檔,可以根據v$log視圖的archived欄位進行判斷。

UNUSED:是指該日誌從未被寫入,這類日誌可能是剛被添加到資料庫或者在RESETLOGS之後被重設。被使用之後,該狀態會被改變。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.