乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Oracle 檢查命中率的SQL

       guolijiegg 2012-01-18

      Oracle 檢查命中率的SQL

      分類: Oracle 基礎知識 1341人閱讀 評論(0) 收藏 舉報

      在數據庫啟動2小時后,可以通過以下SQL來測試數據庫性能

       

      1.  緩沖區(qū)命中率:

      緩沖區(qū)命中率表示在不需要進行磁盤訪問的情況下在內存結構中找到常用數據塊的頻率

       

      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動態(tài)調整工作區(qū)PGA內存的大小(以SGA內存大小的20%為基礎)。在自動PGA內存管理模式下運行時,所有會話的工作區(qū)大小都是自動的。實例中活動工作區(qū)可用的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. 空閑的數據緩沖區(qū)的比例

       

      從您首次啟動Oracle數據庫的那一天開始,用戶們的查詢就開始使用內存??臻e的記錄數除以X$BH表中的記錄總數(即所分配的數據塊緩沖區(qū)的總數)就得到這個百分比。同時請注意,您必須以SYS的權限來運行該查詢。此外,擁有眾多的空閑緩沖區(qū)并不一定是就最佳環(huán)境。5%-10% 為最佳。當空閑比例高于25%時,數據緩沖區(qū)設置得太大了,可能會浪費資源。

       

      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%以上。本節(jié)測量了最影響性能的代碼對整個系統所造成危害的嚴重性,以百分比表示。

       

      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.調整濫用磁盤讀操作的主要語句


      我發(fā)現在沒有作調整的情況下,在絕大多數的系統中,訪問量占前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.緩沖區(qū)等待(Buffer waits)

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多