ORACLE性能优化救生指南_21章 重做和归档的优化
生活随笔
收集整理的這篇文章主要介紹了
ORACLE性能优化救生指南_21章 重做和归档的优化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
(讀書筆記)
一般的做法是,把重做日志、閃回日志和歸檔日志與數據庫文件分開。
這些文件的上的IO類型,與數據文件的IO在性質上完全不同,備份與歸檔期間產生的突發IO可能會干擾
進行中的數據文件IO。
有兩種常見的方式用來配置重做日志、歸檔日志與閃回日志:
1.在兩個磁盤卷上交替存放重做日志文。且把歸檔日志放到一個獨立的卷上。
2.把所有的這些文件放在一個單獨的位置,例如:使用一個單獨的做了條帶化的卷存放所有的非數據文件。
或至少存放歸檔日志與閃回日志
21.5.3 對重做日志使用RAID 5 大聲說NO
RAID5 絕對不該用于存放重做日志。RAID5 的寫缺陷獎嚴重制約數據庫的事務能力。
給數據庫文件使用RAID5是有問題的。但給重做日志使用RAID5 則幾乎肯定是一個壞主意。
因為重做日志面向持續的寫行為,且因為由這些寫帶來的延時通常是數據庫處理的一個限制因素。
RAID5的寫缺陷總是不可接受的。建議使用交替的磁盤設置。而不是把它他們組成RAID5
21.5 重做日志
重做日志的最佳大小取決于事務速率。合理設置日志文件的大小以便日志切換不會發生
得太快。512Mb--1G的日志文件大小是很普通的,配置1-20個日志文件也很平常。
這個查詢報告了24小時的日志切換之間的平均,最大,最小次數。
平均時間在5分鐘以下,那要考慮增加日志文件的大小。
WITH log_history AS
?????? (SELECT thread#, first_time,
?????????????? LAG(first_time) OVER (ORDER BY thread#, sequence#)
????????????????? last_first_time,
?????????????? (first_time
??????????????? - LAG(first_time) OVER (ORDER BY thread#, sequence#))
??????????????????? * 24* 60?? last_log_time_minutes,
?????????????? LAG(thread#) OVER (ORDER BY thread#, sequence#)
?????????????????? last_thread#
??????? FROM v$log_history)
SELECT ROUND(MIN(last_log_time_minutes), 2) min_minutes,
?????? ROUND(MAX(last_log_time_minutes), 2) max_minutes,
?????? ROUND(AVG(last_log_time_minutes), 2) avg_minutes
FROM log_history
WHERE???? last_first_time IS NOT NULL
????? AND last_thread# = thread#
????? AND first_time > SYSDATE - 1;
21.6 閃回日志
把閃回日志和重做日志或歸檔日志放在相同的磁盤設備上(flash_recovery_area),
可能會引起急用。如遇此問題可考慮把閃回日志放在專門的磁盤卷上。
閃回IO操作通常是很小的,因此推薦使用細粒條帶化策略。下面的查詢顯示閃回寫進程的平均IO大小:
select (small_write_megabytes + large_write_megabytes) as total_write_mb,
?? ??? ?(small_write_reqs + large_write_reqs) as total_write_reqs,
?? ??? ?case when (small_write_reqs + large_write_reqs)=0 then 0 else
????? round( (small_write_megabytes + large_write_megabytes)*1024/
?? ??? ??? ??? ?(small_write_reqs + large_write_reqs),2)? end as avg_write_kb
from v$iostat_file F
where filetype_name='Flashback Log';
總結
以上是生活随笔為你收集整理的ORACLE性能优化救生指南_21章 重做和归档的优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 发生TM锁争用的情况
- 下一篇: 优化SQL Server的内存占用之执行