Возникла необходимость чистить запросы для данной сессии!
Чтоб оракл в кеш не смотрел а всегда для данной сессии выполнял честно запрос от начала и до конца!
Нарыл что
begin
FOR v_rec IN (select s.SQL_ADDRESS||','||s.SQL_HASH_VALUE as INFOST
from v$session s, v$sqlarea sa
where s.SQL_ADDRESS = sa.ADDRESS and s.SQL_HASH_VALUE = sa.HASH_VALUE
and s.sid in (select sid from v$mystat where rownum = 1)
)
LOOP
DBMS_OUTPUT.PUT_LINE(v_rec.INFOST);
execute immediate ( 'sys.dbms_shared_pool.purge('''||v_rec.INFOST||''',''c''); ');
END LOOP;
end;
Но опять оракл его в кеш ложит и берёт оттуда всегда одно значение !
Может кто с подобным вопросом сталкивался?