Документ создан: 15.02.2010

Поиск и устранение блокировок

28.08.2008 г.

Иногда, при попытке, например, удалить таблицу, появляется сообщение "ORA-14452: attempt to create, alter or drop an index on temporary table already in use". Или же прибегает к вам программер и сообщает, что "…он уже освободил сессию, но кто-то всё равно держит…"

В этом случае помогает следующий набор действий:

  1. Получаем sid процесса:
    select sid from v$lock where type = 'TO';
  2. Получаем данные для убития сессии:
    select sid,serial#,machine,username,osuser from v$session where sid = 240;

    Где 240 - sid, полученный в предыдущем запросе

  3. Убиваем сессию так:
    alter system kill session '240,827';

    или так:

    alter system disconnect session '240,827' immediate;

    Где, '240,287' - sid и serial#, полученные в предыдущем запросе

После этого программист доволен и может продолжать работать.

 
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Donate