Quando si effettuano i test in Oracle e’ ovviamente utile replicare, o per lo meno cercare, l’ambiente di produzione il piu’ similmente possibile specialmente per quel che riguarda la lettura su disco visto che sono le operazioni che impiegano piu’ tempo, cercando di mettersi magari nelle condizioni peggiori e cioe’ che i dati necessari stanno tutti su disco e nessun blocco e’ in cache. Il comando (utile per Oracle 9i) svuota la cache di sessione, "costringendo" oracle a leggere i dati necessari da disco.
SQL>alter SESSION SET events 'immediate trace name flush_cache';Per Oracle 10g invece e’ necessario usare il seguente comando:
SQL>alter SYSTEM flush buffer_cache;Per vedere la situazione della memoria in cache ecco una query che puo’ tornarci utile:
SELECT COUNT(*), State FROM (
SELECT DECODE(state,
0,'Free',
1, DECODE(lrba_seq,
0, 'Available',
'Being Used'),
3, 'Being Used',
4, 'Read',
state) State
FROM x$bh )
GROUP BY state;Grazie per la lettura!
Luca









Lascia un commento