您好,登錄后才能下訂單哦!
這篇文章主要介紹如何檢查Oracle命中率,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
在數(shù)據(jù)庫(kù)正常使用期間,可以通過以下SQL來(lái)測(cè)試數(shù)據(jù)庫(kù)性能:
SQL>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 RATE "from v$sysstat;
HIT RATE
---------------------
99.8493296
SQL>select (1-(sum(getmisses)/sum(gets))) * 100 "HIT RATE" from v$rowcache;
HIT RATE
---------------------
98.1750126
SQL>select Sum(Pins)/(Sum(Pins) + Sum(Reloads)) * 100 "HIT RATE" from V$LibraryCache;
HIT RATE
---------------------
99.9905342
SQL> 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)"Memory Sorts%" from v$sysstat a, v$sysstat b wherea.name = 'sorts (disk)'and b.name = 'sorts (memory)';
Disk Sorts Memory Sorts Memory Sorts%
---------- ------------ ----------------
SQL> 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);
BLOCK STATUSCOUNT(*)
---------------------------------------- ----------
BEING USED1876
SQL> 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;
Percent
----------
10.23
一般在8%左右,小于5%為最佳。
調(diào)整濫用磁盤讀操作的主要語(yǔ)句:
我發(fā)現(xiàn)在沒有作調(diào)整的情況下,在絕大多數(shù)的系統(tǒng)中,訪問量占前25位的語(yǔ)句的磁盤讀操作將占用整個(gè)系統(tǒng)所有磁盤和/或內(nèi)存讀操作的75%。
SQL> select disk_reads, substr(sql_text,1,4000) from v$sqlareaorder by disk_reads desc;
表和與它們相關(guān)聯(lián)的索引應(yīng)當(dāng)放置在不同的物理磁盤上,以便減少文件I/O。
以上測(cè)試也可以通過AWR和STATSPACK來(lái)查看. 在分析結(jié)果中,我們首先要看的十項(xiàng)內(nèi)容:
1. 首要的5個(gè)等待時(shí)間(定時(shí)事件)
2. 負(fù)載簡(jiǎn)檔(Load profile)
3. 實(shí)例效率點(diǎn)擊率(Instance efficiency hit ratios)
4. 等待時(shí)間(Wait events)
5. 閂鎖等待(Latch waits)
6. 首要的SQL(Top SQL)
7. 實(shí)例活動(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)
------------------------------End------------------------------------------------------
以上是“如何檢查Oracle命中率”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。