影响 oracle 性能的常见事件
影響oracle? 性能的常見事件,比其他任何事件都能使速度減慢的事件:
?????????
? db file scattered read:該事件通常與全表掃描有關。因為全表掃描是被放入內存中進行的進行的,
通常情況下它不可能被放入連續的緩沖區中,所以就散布在緩沖區的緩存中。該指數的數量過大說明缺少索引
或者限制了索引的使用(也可以調整optimizer_index_cost_adj)。這種情況也可能是正常的,因為執行全表掃描可
能比索引掃描效率更高。當系統存在這些等待時,需要通過檢查來確定全表掃描是否必需的來調整。如果經常必須進行全表掃描,而且表比較小,把該表存人keep池。
如果是大表經常進行全表掃描,那么應該是OLAP系統,而不是OLTP的。
?????????
? db file sequential read:該事件說明在單個數據塊上大量等待,該值過高通常是由于表間連接順序很糟糕,或者使用了非選擇性索引。
通過將這種等待與statspack報表中已知其它問題聯系起來(如效率不高的sql),通過檢查確保索引掃描是必須的,并確保多表連接的連接順序來調整,
?DB_CACHE_SIZE可以決定該事件出現的頻率。
?????????
? db file sequential read:該事件說明在單個數據塊上大量等待,該值過高通常是由于表間連接順序很糟糕,或者使用了非選擇性索引。
通過將這種等待與statspack報表中已知其它問題聯系起來(如效率不高的sql),通過檢查確保索引掃描是必須的,并確保多表連接的連接順序來調整,
DB_CACHE_SIZE可以決定該事件出現的頻率。
???????
??? buffer busy wait:當緩沖區以一種非共享方式或者如正在被讀入到緩沖時,就會出現該等待。該值不應該大于1%,確認是不是由于熱點塊造成(如果是可以用反轉索引,
或者用更小塊大小)。
??????????? latch free:常跟應用沒有很好的應用綁定有關。閂鎖是底層的隊列機制(更加準確的名稱應該是互斥機制),
用于保護系統全局區(SGA)共享內存結構閂鎖用于防止對內存結構的并行訪問。如果閂鎖不可用,就會記錄一次閂鎖丟失。
絕大多數得閂鎖問題都與使用綁定變量失敗(庫緩存閂鎖)、生成重作問題(重執行分配閂鎖)、緩存的爭用問題(緩存LRU鏈) 以及緩存的熱數據寬塊(緩存鏈)有關。
當閂鎖丟失率高于0.5%時,需要調整這個問題。
????????
?? log buffer space:日志緩沖區寫的速度快于LGWR寫REDOFILE的速度,可以增大日志文件大小,增加日志緩沖區的大小,或者使用更快的磁盤來寫數據。
??????????? logfile switch:通常是因為歸檔速度不夠快,需要增大重做日志。
???????????
log file sync:當一個用戶提交或回滾數據時,LGWR將會話得重做操作從日志緩沖區填充到日志文件中,用戶的進程必須等待這個填充工作完成。
在每次提交時都出現,如果這個等待事件影響到數據庫性能,那么就需要修改應用程序的提交頻率, 為減少這個等待事件,須一次提交更多記錄,
或者將重做日志REDO LOG文件訪在不同的物理磁盤上。
???????????
Wait time: 等待時間包括日志緩沖的寫入和發送操作。
總結
以上是生活随笔為你收集整理的影响 oracle 性能的常见事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MPC5744P-时钟模块
- 下一篇: Arduino--DS3231时钟模块