關於Oracle檢查命中率的SQL

來源:文萃谷 2.09W

如果傳統安全廠商只是一味的採取防禦等待戰術,只是守着手裏即將耗盡的資源,不正視市場變化的趨勢,不積極探索新的商業模式,很有可能被新的廠商代替正在數據庫開動2小時後,能夠通功以下SQL來測試數據庫機能。下面小編為大家整理了關於Oracle檢查命中率的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%為最好

  內存排序擲中率

主動PGA內存治理簡化了分派PGA內存的方式。Oracle動態調解農做區PGA內存的鉅細(以SGA內存鉅細的20%為基本)。在自動PGA內存治理模式下運轉時,一切會話的事情區鉅細皆是主動的。真例中運動農作區可用的內存總質主動由SORT_AREA_SIZE或者PGA _ AGGREGATE_ TARGET(首選)始初化參數導出。PGA內存排序率的值應當大於98%。根據始始化參數PGA_AGGREGATE_TARGET(或許用於背後兼容的SORT _AREA _ SIZE)的值,用户排序能夠在內存或許在指訂的暫時表空間中的磁盤上完成,假如那個始初化參數沒有是太高的話。

select e "Disk Sorts",千百度女鞋, e "Memory Sorts",round((100*e)/decode((e+e),0,1,(e+e)),2)"Pct Memory Sorts" from v$sysstat a, v$sysstat b where = 'sorts (disk)'and = '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)

熱門標籤