Oracle: ako vynutit hard parse vyhodenim cursora z cache
Je na to pekny trik:)
SQL> select address, hash_value from v$sqlarea where sql_text = 'select * from dept';
ADDRESS HASH_VALUE
-------- ----------
2671F27C 3599690174
SQL> exec dbms_shared_pool.purge('2671F27C,3599690174','C');
PL/SQL procedure successfully completed.
SQL> select address, hash_value from v$sqlarea where sql_text = 'select * from dept';
no rows selected
pozn: funguje od 11.1 vyssie, na 10.2.x.y je locknuta kontextom 5614566 ( 5614566 trace name context forever )
ci zabralo alebo nie je dobre checknut vo v$sql v stlpci invalidations.