【TUNE_ORACLE】Oracle檢查點(四)檢查點對redo日誌的影響和redo日誌大小設定建議
說明
檢查點系列相關文章地址:
Oracle檢查點(一)檢查點(Checkpoint)概念介紹: http://blog.itpub.net/69992972/viewspace-2787595/
Oracle檢查點(二)檢查點效能: http://blog.itpub.net/69992972/viewspace-2787789/
Oracle檢查點(三)增量檢查點四個關鍵引數介紹: http://blog.itpub.net/69992972/viewspace-2787943/
Oracle檢查點(四)檢查點對redo日誌的影響和redo日誌大小設定建議: http://blog.itpub.net/69992972/viewspace-2788206/
Oracle檢查點(五)建立並利用Statspack定位檢查點故障: http://blog.itpub.net/69992972/viewspace-2788418/
檢查點和redo日誌的關係
每次切換日誌時都會發生一次檢查點。如果上一個檢查點已在進行中,由日誌切換引起的檢查點將覆蓋當前檢查點。
此時就需要大小合適的 redo 日誌,以避免因頻繁的日誌切換而引起不必要的檢查點。另外, 增量檢查點目標和日誌尾之間的間隔也會受“最小線上日誌檔案大小的 90%”設定所限制。這樣做的目的是可確保在大多數情況下,日誌切換不必等待檢查點。因此,日誌檔案大小應配置得夠大才行(但不能太大,至於設定多大,下文有建議)。 日誌檔案過小會增加檢查點活動並降低效能 。Oracle官方也建議使用者將所有線上日誌檔案設定為同一大小,且每個執行緒至少擁有兩個日誌組。若要監視日誌切換髮生的速度,以及隨後的檢查點產生的速度,可以檢視alert日誌。
redo日誌大小設定建議
先看一個alert日誌中日誌切換的例子後再予以說明:
Fri Aug 6 12:16:57 2021
Thread 1 advanced to log sequence 1661
Current log# 1 seq# 1661 mem# 0: /oracle/oradata/redo01.log
Thread 1 advanced to log sequence 1662
Current log# 2 seq# 1662 mem# 0: /oracle/oradata/redo02.log
Fri Aug 6 12:18:21 2021
Thread 1 advanced to log sequence 1663
Current log# 3 seq# 1663 mem# 0: /oracle/oradata/redo03.log
Thread 1 advanced to log sequence 1664
Current log# 1 seq# 1664 mem# 0: /oracle/oradata/redo01.log
Fri Aug 6 12:21:17 2021
Thread 1 advanced to log sequence 1665
Current log# 2 seq# 1665 mem# 0: /oracle/oradata/redo02.log
以上不難看出,redo日誌每2-3分鐘切換一次,日誌切換過於頻繁了,說明redo日誌的大小太小了。日誌如果 redo 日誌每 3 分鐘切換一次,就能感覺到資料庫的效能降低了。這表明 redo 日誌不夠大,不能有效地處理該事務負載。因此可以得出結論: 過於頻繁的檢查點和日誌檔案切換問題會影響資料庫效能!
那麼如何設定合適的redo日誌大小呢?
根據官方建議和本人工作經驗,重做日誌切換應該大約每 20-30 分鐘左右產生一次最為合適。如果它們切換太頻繁,可以透過 V$LOG 檢查當前重做日誌檔案的大小,並根據平均切換頻率,重新建立更大的重做日誌組,然後用“ALTER SYSTEM SWITCH LOGFILE;” 切換redo日誌幾次,使得當前重做日誌是剛建立較大的重做日誌檔案之一( 要確保之前小的redo日誌是“INACTIVE”狀態),最後使用“ALTER DATABASE DROP LOGFILE XXX ;”命令刪除較小的重做日誌組。
另外,將重做日誌檔案分佈在多個物理磁碟上,也可以提高日誌切換期間的效能。
補充說明:
如果等待日誌檔案切換完成,還需要新增一個或多個重做日誌組來解決 Statspack 報告中的相關等待事件。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992972/viewspace-2788206/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQLServer的檢查點、redo和undoSQLServer
- redo日誌組資訊查詢
- 管理oracle日誌之調整檢查點Oracle
- Oracle調整redo log日誌大小Oracle
- 檢視Oracle的redo日誌切換頻率Oracle
- 【TUNE_ORACLE】Oracle檢查點(二)檢查點效能Oracle
- 檢視oracle的redo日誌組切換頻率Oracle
- 檢查REDO日誌相關資訊並生成HTML檔案的指令碼HTML指令碼
- 物化檢視日誌對UPDATE的影響
- Oracle產生redo日誌量大小統計Oracle
- MySQL 5.6修改REDO日誌的大小和個數MySql
- REDO日誌管理
- [20160223]檢查redo日誌的完整性.txt
- 【TUNE_ORACLE】Oracle檢查點(一)檢查點(Checkpoint)概念介紹Oracle
- 【REDO】重做日誌檔案(redo log files)管理(增,刪,改,查,切)
- 【TUNE_ORACLE】Oracle檢查點(三)增量檢查點四個關鍵引數介紹Oracle
- redo日誌損壞
- redo重做日誌管理
- MySQL 日誌 undo | redoMySql
- MySQL之事務和redo日誌MySql
- 修改online redo日誌檔案大小
- 【體系結構】dump檢視update操作redo日誌
- Oracle redo日誌內容探索(一)Oracle Redo
- 【TUNE_ORACLE】Oracle檢查點(五)建立並利用Statspack定位檢查點故障Oracle
- 通過Xtrabackup日誌來恢復檢查點檔案
- 【REDO】刪除REDO LOG重做日誌組後需要手工刪除對應的日誌檔案
- 第15 章 物理日誌記錄、檢查點和快速恢復; 第16 章 管理物理日誌
- MySQL重做日誌(redo log)MySql
- redo log日誌挖掘(二)
- redo log日誌挖掘(一)
- 【REDO】Oracle 日誌挖掘,分析歸檔日誌線上日誌主要步驟Oracle
- 日誌異常,IO,CPU的檢查
- Oracle Redo(重做日誌) 模擬故障和恢復Oracle Redo
- Oracle redo日誌內容探索之二Oracle Redo
- oracle redo 日誌刪除後的恢復Oracle Redo
- eclipse設定檢視GC日誌和如何理解GC日誌EclipseGC
- 線上修改REDO LOG的大小及增加新的日誌組
- MySQL redo與undo日誌解析MySql