У кого-либо (или непреднамеренно) есть замок на столе. Запросить таблицу V$LOCKED_OBJECTS
, чтобы найти имя пользователя (вы бы хотели, чтобы OS_USER_NAME
) заблокировали его.
Вы можете попросить пользователя разблокировать таблицу. Им придется либо совершить, либо отменить свою транзакцию. Если они не в состоянии сделать это и позволит вам убить их сессии, вы можете использовать ниже:
alter system kill session 'sid, serial#'
убить их сессии, которая имеет блокировку на вашем столе, где «sid
» & «serial#
» является то, что вам необходимо найти по запросу v$session
, v$sqlarea
таблиц.
Это также можно сделать в SQL-разработчике, вы можете узнать о сеансе (если у вашего пользователя есть доступ к мета-таблицам) из меню Tools --> Monitor Sessions
Щелкните правой кнопкой мыши правильную запись сеанса (очень важно) и выберите отметку для kill , Вы должны иметь возможность удалять записи после того, как сессия будет убита.
таблица была заблокирована другой транзакцией –
Возможный дубликат [ORA-00054: ресурс занят и приобретается с указанным NOWAIT или истечением таймаута] (http://stackoverflow.com/questions/4842765/ora-00054-resource-busy -and-purchase-with-nowait-defined-or-timeout-expired) –