Бесконечный оператор обновления Oracle - PullRequest
1 голос
/ 09 августа 2011

С помощью SQL Developer в базе данных 11g я пытаюсь обновить запись, например так:

update table_test
set field_test = 0
where table_test_id = 64664;

Проблема в том, что запрос занимает очень много времени. 8 минут прошло безуспешно.

Кто-нибудь имеет представление о том, что может быть не так?

Ответы [ 2 ]

7 голосов
/ 09 августа 2011

Возможно, запись, которую вы пытаетесь обновить, заблокирована другим сеансом - вполне возможно, другим вашим сеансом?Этот сеанс будет заблокирован и будет ждать, пока другой сеанс не завершит или не откатит свою транзакцию.

5 голосов
/ 09 августа 2011
  • Является ли TABLE_TEST_ID первичным ключом таблицы?
  • Есть ли на столе триггеры?
  • Возможно ли, что какой-то другой сеанс заблокировал эту конкретную строку, и вы просто ожидаете этой блокировки? Вы видите что-нибудь в таблицах DBA_WAITERS и DBA_BLOCKERS?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...