Poměr úspěšnosti = 1 – (fyzické čtení / (logické čtení)) * 100
Hit ratio = 1 – (physical reads / (db block gets + consistent gets)) * 100
Veškeré potřebné informace získáte z tabulky v$sysstat. Hodnoty jsou nízké, protože daný server je jen testovací a není zde vysoká aktivita.
SQL> select name, value From v$sysstat where name in (‚db block gets‘, ‚consistent gets‘, ‚physical reads‘);
NAME VALUE
—————————————————————-
db block gets 844808 consistent gets 3968570 physical reads 38381
Výpočtem pak zjistíte, že Hit Ratio = 99.2% což je v pořádku. V databázi je velmi užitečný pohled v$db_cache_size, který vám pomůže zvolit optimální velikost paměti cache. Použijte následující dotaz.
select size_for_estimate c1,buffers_for_estimate c2, estd_physical_read_factor c3,estd_physical_reads c4 from v$db_cache_advice where name = ‚DEFAULT‘ and block_size = (SELECT value FROM V$PARAMETER WHERE name = ‚db_block_size‘) and advice_status = ‚ON‘;
Výstup bude obsahovat o informace o počtu fyzického čtení z disku v závislosti na velikosti paměti cache.
Estd Phys Estd Phys
Cache Size (m) Buffers Read Factor Reads
—————- ———— ———– ————
8 996 2.55 58,881
16 1,992 1.69 38,893
24 2,988 1.44 33,153
…
72 8,964 1.04 23,928
80 9,960 1.01 23,173
88 10,956 1.00 23,057
96 11,952 .99 22,805
…
144 17,928 .95 21,828
152 18,924 .93 21,450
160 19,920 .89 20,511
Jak vidíte, při velikosti paměti buffer cache 88M je předpokládaný počet čtení z disku 23057. Při velikosti 8M by to bylo 58881 naopak při navýšení paměti na 160M by došlo jen k nepatrnému zlepšení.
To samé můžete zkontrolovat i EM. V nabídce Advisor central –> Memory advisors uvidíte rozložení paměti. Při zapnutém ASMM, se pamět rozděluje automaticky.
{phocagallery view=category|categoryid=1|imageid=1|detail=3}
Obrázek 7.3: Rozložení paměti v databázi
Klepnete-li na tlačítko Advice uvidíte graf s doporučením jak velkou pamět SGA nastavit.
Poznámka: Doporučuji nechat Automatic shared memory management zapnutý a ponechat tedy automatické rozdělení na databázi v závislosti na činnosti databáze. Parametr db_cache_buffer není jediný parametr na který se při ladění musíte podívat a je potřeba řešit problémy v celkovém kontexu v závislosti na činnosti databáze, rychlosti sítě, disků atd.
Metalink:
151052.1 Init.ora Parameter „DB_CACHE_SIZE“ Reference Note
443746.1 Automatic Memory Management(AMM) on 11g
373510.1 V$Db_cache_advice Returns No Rows
Získejte konzultaci v hodnotě 1 500 Kč k vaší databázi Oracle zcela zdarma. Ozvěte se mi ještě dnes.