powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
24 сообщений из 24, страница 1 из 1
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974424
delphi7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема:
Из одного приложения в разных потоках выполняютяся блоки SQL-инструкций.

Каждый из потоков не пересекается по PK, но постоянно возникает ошибка
ORA-00060: deadlock detected while waiting for resource

Причем через N-ый промежуток времени выполняется, но все же одновременное выполннние ствновится приосто не возможным!!
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974506
Александр Соколов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите, что в трассировочном файле.
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974536
Александр Соколов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если увас не 10-ка, то

Том КайтКак свидетельствует опыт, основной причиной возникновения взаимных блокировок в базах данных Oracle являются неиндексированные внешние ключи. При изменении главной таблицы сервер Oracle полностью блокирует подчиненную таблицу в двух случаях:
• при изменении первичного ключа в главной таблице (что бывает крайне редко, если следовать принятому в реляционных базах данных правилу неизменности первичных ключей) подчиненная таблица блокируется при отсутствии индекса по внешнему ключу;
• при удалении строки в главной таблице подчиненная таблица также полностью блокируется (при отсутствии индекса по внешнему ключу).
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974550
delphi7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
*** SESSION ID:(83.5031) 2005-03-22 13:05:54.410
DEADLOCK DETECTED
Current SQL statement for this session:
UPDATE wfil.account_ins SET ACCID=426700, ACC=2600, CURR=980, BS=2600, CL=70, LS=1, DATOPEN=to_date('30.09.2004 11:34:25','dd.mm.yyyy hh24:mi:ss'), DATP=to_date('22.03.2005','dd.mm.yyyy'), DATCLOSE =NULL, STATUS=0, NAME='...................', PSS =NULL WHERE mfo=1 AND ACCID =426700
----- PL/SQL Call Stack -----
object line object
handle number name
401a70d6a30 4 anonymous block
The following deadlock is not an ORACLE error. It is a
deadlock due to user error in the design of an application
or from issuing incorrect ad-hoc SQL. The following
information may aid in determining the deadlock:
Deadlock graph:
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TM-00006a51-00000000 49 83 SX SSX 33 39 SX SSX
TM-00006a51-00000000 33 39 SX SSX 49 83 SX SSX
session 83: DID 0001-0031-00000090 session 39: DID 0001-0021-00004CB1
session 39: DID 0001-0021-00004CB1 session 83: DID 0001-0031-00000090
Rows waited on:
Session 39: no row
Session 83: no row
Information on the OTHER waiting sessions:
Session 39:
pid=33 serial=39592 audsid=2570913 user: 834/REPMAN
O/S info: user: XXXXXX, term: GOZILLA, ospid: 3572:3004, machine: XXXXXXXXXX program: XXXXXXX.exe
application name: XXXXXXXX.exe, hash value=0
Current SQL Statement:

UPDATE wfil.account_ins SET ACCID=9481, ACC=2680014, CURR=980, BS=2635, CL=406980, LS=14, DATOPEN=to_date('18.05.2002 11:39:22','dd.mm.yyyy hh24:mi:ss'), DATP=to_date('22.03.2005','dd.mm.yyyy'), DATCLOSE =NULL, STATUS=0, NAME='...................', PSS=1 WHERE mfo=335719 AND ACCID =9481
End of information on OTHER waiting sessions.

PK(mfo, ACCID)
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974594
Александр Соколов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понял, вы модифицируете первичный ключ. А это чревато...
См. об этом, например, http://www.sql.ru/forum/actualthread.aspx?tid=169028 .
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974595
Фотография Markelenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что заметно сразу - зачем

UPDATE wfil.account_ins SET ACCID=426700 ,...
WHERE mfo=1 AND ACCID =426700


UPDATE wfil.account_ins SET ACCID=9481 ,...
WHERE mfo=335719 AND ACCID =9481
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974606
Фотография Markelenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Александр Соколов

Извините, что не в тему. Есть маленький вопрос. Видел, что Вы с Викором Сусойкиным переводили статью на тему сжатия таблиц в Oracle 9.2. Вы занимались каким-либо исследованием данного вопроса или просто сделали перевод?

Спасибо.
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974637
Александр Соколов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Markelenkov

На момент перевода у наших клиентов не было работающих полномасштабных систем под 9-ой. Виктор обещал попробовать смоделировать это и написать отдельную статью, но, видно, текучка заела... Если кто-нибудь сделает это, публикация в OM/RE гарантируется.
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974649
Guest555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторЕсли кто-нибудь сделает это, публикация в OM/RE гарантируется
Сорри за оффтоп :-(
А каким образом можно публиковать статьи в OM?
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974664
Фотография Markelenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, понятно.

Просто меня в свое время заинтересовала эта тема, я кое-что поисследовал в 9-ке:
/topic/103681&pg=2#797811

В алгоритме мне не все понравилось. Как я понял, в 10g что-то изменилось. Данной версией пока не располагаю, поэтому проверить не могу, хотя немалый практический интерес к этому имеется.

Можно взять мои идеи (в смысле, что можно тестировать) в качестве первого приближения для исследования. На авторство и статьи не претендую ;)

P.S. Привет Виктору, если он меня помнит.
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974697
Александр Соколов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest555 А каким образом можно публиковать статьи в OM?
Просто шлите их гл. редактору Анатолию Бачину. Его адрес в журнале есть (или abachin@mail.ru).
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974743
Александр Соколов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MarkelenkovМожно взять мои идеи (в смысле, что можно тестировать) в качестве первого приближения для исследования. На авторство и статьи не претендую ;)
Спасибо. Еще бы найти, кто мог бы этим заняться. Мне кажется, часто модифицируемые таблицы можно даже не исследовать...
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974814
Фотография Ааз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Соколов...Александр Петрович, здравствуйте! Рад видеть гуру в нашем немного бестолковом стаде :-)

Андрей.
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974817
Фотография Markelenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр СоколовМне кажется, часто модифицируемые таблицы можно даже не исследовать...
Мне с практической точки зрения интересно поведение при модификациях (возможно частых) только части огромной сжатой несекционированной таблицы. Что касается небольших часто модифицируемых таблиц, то согласен.

Еще мне интересно поведение при вставке данных массивом (OCI array insert), в том числе, когда вставляемый одной командой insert массив выходит за рамки нескольких блоков, т.е. практически аналог direct path insert в части потока данных. В том числе интересно поведение при наличии LOBов (null и not null).

Интересует, конечно же, поведение в 10g, т.к. в 9-ке алгоритм я более-менее исследовал. Когда-нибудь я поизучаю все это, но писать статьи я не люблю :)
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974859
Александр Соколов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Ааз

Какой же я гуру, несколько лет не работавший с БД и не выходящий из дома...
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974872
Александр Соколов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MarkelenkovМне с практической точки зрения интересно поведение при модификациях (возможно частых) только части огромной сжатой несекционированной таблицы. Что касается небольших часто модифицируемых таблиц, то согласен.
В таком случае исследование должно быть четко поделено на 2 части: немодифицируемые таблицы и модификация сжатых таблиц.

Markelenkovписать статьи я не люблю :)
Поможем...
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32974875
Фотография Ааз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр СоколовКакой же я гуру, несколько лет не работавший с БД и не выходящий из дома...Большое видится на расстоянии.

Андрей
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32975454
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2delphi7

Так чем закончилось?
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32975585
Stax.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
delphi7
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TM-00006a51-00000000 49 83 SX SSX 33 39 SX SSX
TM-00006a51-00000000 33 39 SX SSX 49 83 SX SSX
session 83: DID 0001-0031-00000090 session 39: DID 0001-0021-00004CB1
session 39: DID 0001-0021-00004CB1 session 83: DID 0001-0031-00000090

Извените что вмешиваюсь

2 delphi7
Возможно что-то не проиндексировано
Что возвращает
Код: plaintext
1.
select * from dba_objects where OBJECT_ID=TO_NUMBER('6A51','XXXX');

ЗЫ
SQL> select BANK_NAME from bank_ where BANK_N='000335719';

BANK_NAME
--------------------------------------
ГОРЛІВСЬКА Ф-Я АКБ "НАДРА"


Мож мы колеги (конкуренты)
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32977254
Фотография Markelenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Соколов Markelenkovписать статьи я не люблю :)
Поможем...
Спасибо, как-нибудь без меня.
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32977367
Zh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
PDATE wfil.account_ins SET ACCID= 426700 , ACC= 2600 , CURR= 980 , BS= 2600 , CL= 70 , LS= 1 , DATOPEN=to_date('30.09.2004 11:34:25','dd.mm.yyyy hh24:mi:ss'), DATP=to_date('22.03.2005','dd.mm.yyyy'), DATCLOSE =NULL, STATUS= 0 , NAME='...................', PSS =NULL WHERE mfo= 1  AND ACCID = 426700 

А точно все эти поля нужно обновлять? Больше похоже что апдейтятся все, а не только измененные.
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #32983373
Tamito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Stax

Stax
ЗЫ
SQL> select BANK_NAME from bank_ where BANK_N='000335719';

BANK_NAME
--------------------------------------
ГОРЛІВСЬКА Ф-Я АКБ "НАДРА"


Мож мы колеги (конкуренты)


2delphi7 - Названия схем и приложений какие то уж знакомые :-)


Код: plaintext
1.
2.
3.
4.
5.
SQL> select Value from w_opday_ini where name = 'BANKNAME';

VALUE
--------------------------------------
Філія ВАТ КБ "Надра" Сумське РУ
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #39754332
knek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подскажите пожалуйста: как после такой ошибки разблокировать таблицу?
...
Рейтинг: 0 / 0
Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
    #39754338
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
knekкак после такой ошибки разблокировать таблицу?Так же, как и не после.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Очень срочно!!! ORA-00060: deadlock detected while waiting for resource
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]