- 相關(guān)推薦
關(guān)于Oracle檢查命中率的SQL
如果傳統(tǒng)安全廠商只是一味的采取防御等待戰(zhàn)術(shù),只是守著手里即將耗盡的資源,不正視市場變化的趨勢(shì),不積極探索新的商業(yè)模式,很有可能被新的廠商代替正在數(shù)據(jù)庫開動(dòng)2小時(shí)后,能夠通功以下SQL來測試數(shù)據(jù)庫機(jī)能。下面小編為大家整理了關(guān)于Oracle檢查命中率的SQL,一起來看看吧:
1. 慢沖區(qū)擲中率:
緩沖區(qū)命中率表現(xiàn)在不須要舉行磁盤拜訪的情形下在內(nèi)存構(gòu)造中覓到常用數(shù)據(jù)塊的頻次
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.數(shù)據(jù)字典緩存命中率:
數(shù)據(jù)字典慢存擲中率表現(xiàn)了對(duì)于數(shù)據(jù)字典和其他工具的內(nèi)存讀操縱所占的百分比。
select (1-(sum(getmisses)/sum(gets))) * 100 "Hit Ratio" from v$rowcache;
大于98%為最佳
3.庫緩存命中率:
庫緩存命中率表現(xiàn)了對(duì)于實(shí)踐語句和PL/SQL工具的內(nèi)存讀操縱所占的百分比。細(xì)致,很高的命中率并沒有老是一件功德。
select Sum(Pins)/(Sum(Pins) + Sum(Reloads)) * 100 "Hit Ratio" from V$LibraryCache;
大于98%為最好
4.PGA內(nèi)存排序擲中率
主動(dòng)PGA內(nèi)存治理簡化了分派PGA內(nèi)存的方式。Oracle動(dòng)態(tài)調(diào)解農(nóng)做區(qū)PGA內(nèi)存的巨細(xì)(以SGA內(nèi)存巨細(xì)的20%為基本)。在自動(dòng)PGA內(nèi)存治理模式下運(yùn)轉(zhuǎn)時(shí),一切會(huì)話的事情區(qū)巨細(xì)皆是主動(dòng)的。真例中運(yùn)動(dòng)農(nóng)作區(qū)可用的PGA內(nèi)存總質(zhì)主動(dòng)由SORT_AREA_SIZE或者PGA _ AGGREGATE_ TARGET(首選)始初化參數(shù)導(dǎo)出。PGA內(nèi)存排序率的值應(yīng)當(dāng)大于98%。根據(jù)始始化參數(shù)PGA_AGGREGATE_TARGET(或許用于背后兼容的SORT _AREA _ SIZE)的值,用戶排序能夠在內(nèi)存或許在指訂的暫時(shí)表空間中的磁盤上完成,假如那個(gè)始初化參數(shù)沒有是太高的話。
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. 閑暇的數(shù)據(jù)緩沖區(qū)的比例
自您初次開動(dòng)Oracle數(shù)據(jù)庫的那一天開端,用戶們的盤問便啟初利用內(nèi)存,十月媽咪?臻e的記載數(shù)除以X$BH表中的忘錄總數(shù)(便所分派的數(shù)據(jù)塊緩沖區(qū)的總數(shù))便失掉那個(gè)百分比。同時(shí)請(qǐng)細(xì)致,您必需以SYS的權(quán)限來運(yùn)轉(zhuǎn)當(dāng)盤問。別的,具有浩繁的閑暇慢沖區(qū)并沒有必定是便最佳情況,BB霜。5%-10% 為最好。該閑暇比例高于25%時(shí),數(shù)據(jù)緩沖區(qū)設(shè)放得太大了,能夠會(huì)揮霍資流。
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. 最揮霍內(nèi)存的前10個(gè)語句占一切語句的比例
正在出有調(diào)解的情形下,大少數(shù)體系中10個(gè)最常利用的SQL語句的拜訪質(zhì)占了整個(gè)體系中內(nèi)存讀操縱的50%以上。原節(jié)丈量了最影響機(jī)能的代碼對(duì)于整個(gè)體系所形成迫害的嚴(yán)峻性,以百分比表現(xiàn)。
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.調(diào)整濫用磁盤讀操作的重要語句
人發(fā)明在出有做調(diào)解的情形下,在續(xù)大少數(shù)的系統(tǒng)中,拜訪質(zhì)占前25位的語句的磁盤讀操作將占用整個(gè)系統(tǒng)一切磁盤和/或者內(nèi)存讀操做的75%。
select disk_reads, substr(sql_text,1,4000) from v$sqlarea order by disk_reads desc;
8.表和取它們相干聯(lián)的索引應(yīng)該擱放在差別的物理磁盤上,以即淘汰白件I/O。
以上測試也能夠通功AWR和STATSPACK來檢察. 正在剖析成果中,人們起首要望的十項(xiàng)內(nèi)容:
1. 主要的5個(gè)等候時(shí)光(訂時(shí)勢(shì)件)
2. 負(fù)載簡檔(Load profile)
3. 真例效力面打率(Instance efficiency hit ratios)
4. 期待時(shí)光(Wait events)
5. 閂鎖等候(Latch waits)
6. 主要的SQL(Top SQL)
7. 真例運(yùn)動(dòng)(Instance activity)
8. 白件I/0和段統(tǒng)計(jì)數(shù)據(jù)(File I/0 and segement statistics)
9. 內(nèi)存分派(Memory allocation)
10.緩沖區(qū)等候(Buffer waits)
【Oracle檢查命中率的SQL】相關(guān)文章:
ORACLE 常用的SQL語法和數(shù)據(jù)部分08-21
關(guān)于SQL在數(shù)據(jù)檢查中的應(yīng)用07-28
Oracle發(fā)展歷程08-25
sql語法大全08-16
經(jīng)典SQL語句大全10-05
SQL語句的功能10-23
sql語句的使用10-18
Oracle認(rèn)證體系介紹01-30
oracle認(rèn)證考試詳情06-09
Oracle DBA職業(yè)要求08-31