Очистка кеша для данной сессии!

alient
Дата: 05.12.2012 16:32:53
Возникла необходимость чистить запросы для данной сессии!
Чтоб оракл в кеш не смотрел а всегда для данной сессии выполнял честно запрос от начала и до конца!

Нарыл что
 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;


Но опять оракл его в кеш ложит и берёт оттуда всегда одно значение !
Может кто с подобным вопросом сталкивался?
борщ бруевич
Дата: 05.12.2012 16:34:27
чево? сам то понял чё сказал?
alient
Дата: 05.12.2012 16:37:31
    
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 ( 'begin   sys.dbms_shared_pool.purge('''||v_rec.INFOST||''',''c'');  end; ');

  END LOOP;
  end;


Вот это поправильнее!
Охрименко
Дата: 05.12.2012 16:41:25
shutdown abort
startup

И кеш БД чистый и трезвый как стекло ))
Edward Shevtsov
Дата: 05.12.2012 16:49:31
alient

Вот это поправильнее!
ОмайГат!
alient
Дата: 05.12.2012 19:57:15
А правильно вообще во всех сессиях текущего юзера
begin
  
 FOR v_rec IN ( select sa.ADDRESS||','||sa.HASH_VALUE as INFOST
       from  v$sqlarea sa
       where  sa.PARSING_SCHEMA_NAME in (select user from dual)
               )
  LOOP
    
    execute immediate ( 'begin   sys.dbms_shared_pool.purge('''||v_rec.INFOST||''',''c'');  end; ');

  END LOOP;
  end;


Правда на такое дать права рекомендуется на отдельной базе !
DВА
Дата: 05.12.2012 20:18:26
чего только люди не придумают, лишь бы не разбираться в причинах проблем
BestZvit
Дата: 05.12.2012 21:42:56
DВА
чего только люди не придумают, лишь бы не разбираться в причинах проблем

Что-то я не видел в описании слова "проблема"..

Насколько можно понять из описания - это просто так, прихоть..
Bobby Z.
Дата: 05.12.2012 21:46:44
BestZvit
Насколько можно понять из описания - это просто так, прихоть..
Из описания, если честно, вообще ничего нельзя понять...
Sayan Malakshinov
Дата: 05.12.2012 21:52:44
BestZvit,

это просто продолжение эпопеи:
  • Может кэш виноват?
  • Сбросить состояние сессии?