Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 ORA-00054 - как снять блокировку?  [new]
Alibek B.
Member

Откуда:
Сообщений: 3244
Редактировал в TOAD содержимое таблички, очищал в null поле в одной строке.
В этот момент почему-то TOAD завис.
Процесс на ПК я прибил, подключился заново, но теперь ранее редактируемая запись заблокирована.
Блокировку я нашел в v$locked_object, тип блокировки LOCKED_MODE=3 - Row-X (SX).
Как ее можно снять?
Обычно для этого нужно закрыть транзакцию, но у меня процесс, где эта транзакция начиналась, уже закрыт.
4 фев 19, 10:00    [21801057]     Ответить | Цитировать Сообщить модератору
 Re: ORA-00054 - как снять блокировку?  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5380
+ поищи осиротевшую сессию
Select  lk.SID, se.username, to_single_byte(se.OSUser) osuser, to_single_byte(se.Machine) as machine, 
       DECODE (lk.TYPE, 'TX', 'Transaction', 'TM', 'DML', 'UL', 'PL/SQL User Lock', lk.TYPE) lock_type,
       DECODE (lk.lmode, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR (lk.lmode)) mode_held,
       DECODE (lk.request, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR (lk.request)) mode_requested,
       TO_CHAR (lk.id1) lock_id1, TO_CHAR (lk.id2) lock_id2, ob.owner,
       ob.object_type, ob.object_name, decode(lk.Block, 0, 'No', 1, 'Yes', 2, 'Global') block, se.lockwait
FROM   v$lock lk, dba_objects ob, v$session se
WHERE  lk.TYPE IN ('TX', 'TM', 'UL')
AND    lk.SID = se.SID
AND    lk.id1 = ob.object_id (+);
4 фев 19, 10:06    [21801061]     Ответить | Цитировать Сообщить модератору
 Re: ORA-00054 - как снять блокировку?  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 1983
Alibek B.,

убить сессию (если Вы уверенны что ето ваша подвисшая)

.....
stax
4 фев 19, 10:17    [21801067]     Ответить | Цитировать Сообщить модератору
 Re: ORA-00054 - как снять блокировку?  [new]
Alibek B.
Member

Откуда:
Сообщений: 3244
Сессию я уже нашел.

Stax
убить сессию (если Вы уверенны что ето ваша подвисшая)

Да, нужно убить сессию и следующий вопрос был бы, как это сделать правильно.
Но не потребовалось, Oracle сам ее уже прибил через несколько минут после того, как я написал в форум.
4 фев 19, 11:11    [21801104]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить