關于Oracle檢查命中率的SQL
如果傳統安全廠商隻是一味的采取防禦等待戰術,隻是守着手裡即将耗盡的資源,不正視市場變化的趨勢,不積極探索新的商業模式,很有可能被新的廠商代替正在資料庫開動2小時後,能夠通功以下SQL來測試資料庫機能。下面小編為大家整理了關于Oracle檢查命中率的SQL,一起來看看吧:
1. 慢沖區擲中率:
緩沖區命中率表現在不須要舉行磁盤拜訪的情形下在記憶體構造中覓到常用資料塊的頻次
select (1-(sum(decode(name, 'physical reads',value,0))/(sum(decode(name, 'db block gets',value,0))
+sum(decode(name,'consistent gets',value,0))))) * 100 "Hit Ratio"
from v$sysstat;
大于98%為最佳
2.資料字典緩存命中率:
資料字典慢存擲中率表現了對于資料字典和其他工具的記憶體讀操縱所占的百分比。
select (1-(sum(getmisses)/sum(gets))) * 100 "Hit Ratio" from v$rowcache;
大于98%為最佳
3.庫緩存命中率:
庫緩存命中率表現了對于實踐語句和PL/SQL工具的記憶體讀操縱所占的百分比。細緻,很高的命中率并沒有老是一件功德。
select Sum(Pins)/(Sum(Pins) + Sum(Reloads)) * 100 "Hit Ratio" from V$LibraryCache;
大于98%為最好
4.PGA記憶體排序擲中率
主動PGA記憶體治理簡化了分派PGA記憶體的方式。Oracle動态調解農做區PGA記憶體的巨細(以SGA記憶體巨細的20%為基本)。在自動PGA記憶體治理模式下運轉時,一切會話的事情區巨細皆是主動的。真例中運動農作區可用的PGA記憶體總質主動由SORT_AREA_SIZE或者PGA _ AGGREGATE_ TARGET(首選)始初化參數導出。PGA記憶體排序率的值應當大于98%。根據始始化參數PGA_AGGREGATE_TARGET(或許用于背後相容的SORT _AREA _ SIZE)的值,使用者排序能夠在記憶體或許在指訂的暫時表空間中的磁盤上完成,假如那個始初化參數沒有是太高的話。
select a.value "Disk Sorts",千百度女鞋, b.value "Memory Sorts",round((100*b.value)/decode((a.value+b.value),0,1,(a.value+b.value)),2)"Pct Memory Sorts" from v$sysstat a, v$sysstat b where a.name = 'sorts (disk)'and b.name = 'sorts (memory)';
5. 閑暇的資料緩沖區的比例
自您初次開動Oracle資料庫的那一天開端,使用者們的盤問便啟初利用記憶體,十月媽咪。空閑的'記載數除以X$BH表中的忘錄總數(便所分派的資料塊緩沖區的總數)便失掉那個百分比。同時請細緻,您必需以SYS的權限來運轉當盤問。别的,具有浩繁的閑暇慢沖區并沒有必定是便最佳情況,BB霜。5%-10% 為最好。該閑暇比例高于25%時,資料緩沖區設放得太大了,能夠會揮霍資流。
select decode(state,0, 'FREE',1,decode(lrba_seq,0,'AVAILABLE','BEING USED'),3, 'BEING USED', state) "BLOCK STATUS",count(*) from x$bh group by decode(state,0,'FREE',1,decode(lrba_seq,0,'AVAILABLE','BEING USED'),3, 'BEING USED', state);
6. 最揮霍記憶體的前10個語句占一切語句的比例
正在出有調解的情形下,大少數體系中10個最常利用的SQL語句的拜訪質占了整個體系中記憶體讀操縱的50%以上。原節丈量了最影響機能的代碼對于整個體系所形成迫害的嚴峻性,以百分比表現。
select sum(pct_bufgets) "Percent" from (select rank() over ( order by buffer_gets desc ) as rank_bufgets,to_char(100 * ratio_to_report(buffer_gets) over (),'999.99') pct_bufgets from v$sqlarea ) where rank_bufgets < 11;
小于5%為最好。
7.調整濫用磁盤讀操作的重要語句
人發明在出有做調解的情形下,在續大少數的系統中,拜訪質占前25位的語句的磁盤讀操作将占用整個系統一切磁盤和/或者記憶體讀操做的75%。
select disk_reads, substr(sql_text,1,4000) from v$sqlarea order by disk_reads desc;
8.表和取它們相幹聯的索引應該擱放在差别的實體磁盤上,以即淘汰白件I/O。
以上測試也能夠通功AWR和STATSPACK來檢察. 正在剖析成果中,人們起首要望的十項内容:
1. 主要的5個等候時光(訂時勢件)
2. 負載簡檔(Load profile)
3. 真例效力面打率(Instance efficiency hit ratios)
4. 期待時光(Wait events)
5. 闩鎖等候(Latch waits)
6. 主要的SQL(Top SQL)
7. 真例運動(Instance activity)
8. 白件I/0和段統計資料(File I/0 and segement statistics)
9. 記憶體分派(Memory allocation)
10.緩沖區等候(Buffer waits)
【關于Oracle檢查命中率的SQL】相關文章: