|
|
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
Существует приложение, в котором удаляются записи из таблицьі Pratica. Pratica_id - primary key. Для удаления используется 4 job, каждьій из которьіх удаляет свои записи (множества записей, которьіе не пересекаются). Какая может бьіть причина возникновения deadlock??? Версия - Oracle 10.2.0.2.0 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 15:56 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
ДругаяТаняКакая может бьіть причина возникновения deadlock??? Попробую предположить что bitmap index. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 16:15 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
с чего Вы взяли, что записи не пересекаются? Может вместо удаления к примеру писать id в лог. А потом проверить действительно ли нет пересечений... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 16:17 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
Randll ДругаяТаняКакая может бьіть причина возникновения deadlock??? Попробую предположить что bitmap index. Нет, не используем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 16:17 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
alex-lsс чего Вы взяли, что записи не пересекаются? Может вместо удаления к примеру писать id в лог. А потом проверить действительно ли нет пересечений... потому что разбивание на куски происходит по первичному ключу таким образом 1-5000, 5001-10000, 10001-15000 и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 16:19 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
А initrans и pctfree у таблицы PRACTICA и ее индексов какой??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 16:25 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
When a table's INITRANS is set too low , the block is full with data, and there are many concurrent DML's occurring on rows within the block, one may see a Share Lock being requested when doing a DML. To my knowledge, this is only time we grab the SHARED lock. Instead of waiting for a lock, this process is waiting for some extra space or a release of an INITRANS within the transaction layer of the block. See Note 62354.1 TX Transaction locks - Example wait scenarios ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 16:26 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
AlAndreevА initrans и pctfree у таблицы PRACTICA и ее индексов какой??? У таблицьі: initrans = 2 pctfree=10 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 16:28 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
ДругаяТаня AlAndreevА initrans и pctfree у таблицы PRACTICA и ее индексов какой??? У таблицьі: initrans = 2 pctfree=10 Т.е. стоит увеличить initrans? А какое значение установить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 16:30 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
Из того, что ID_NUM разбито на непересекающиеся диапазоны, в общем случае не следует, что NUM_PRATICA придерживается того же разбиения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 16:32 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
softwarerИз того, что ID_NUM разбито на непересекающиеся диапазоны, в общем случае не следует, что NUM_PRATICA придерживается того же разбиения. то, что разбиение не виновато следует из типа блокировки - SHARED (S) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 16:41 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
DВАTo my knowledge, this is only time we grab the SHARED lock.Ната, откуда дровишки? Стив Адамс знает 4 случая :-) Всего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 16:43 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
softwarerИз того, что ID_NUM разбито на непересекающиеся диапазоны, в общем случае не следует, что NUM_PRATICA придерживается того же разбиения. Да, конечно, в общем случае не следует. Но тут логика такая, что NUM_PRATICA в таблице data_to_load - единственное значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 16:45 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
Ааз DВАTo my knowledge, this is only time we grab the SHARED lock.Ната, откуда дровишки? Стив Адамс знает 4 случая :-) Всего цитата :) а в общем случае, например, SRX!=S, ну или Адамс знает больше, чем металинк готов признать ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 16:54 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
Ааз DВАTo my knowledge, this is only time we grab the SHARED lock.Ната, откуда дровишки? Стив Адамс знает 4 случая :-) Всего Other Scenarios ~~~~~~~~~~~~~~~ There are other wait scenarios which can result in a SHARE mode wait for a TX lock but these are rare compared to the examples given above. Eg: If a session wants to read a row locked by a transaction in a PREPARED state then it will wait on the relevant TX lock in SHARE mode (REQUEST=4). As a PREPARED transaction should COMMIT , ROLLBACK or go to an in-doubt state very soon after the prepare this is not generally noticeable.. -------------------------------------------------------------------------- раз уж заинтриговали, оч хочется узнать, что к этому может добавить Адамс :) плиз... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 17:06 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
Я и ёжикпять кто даст больше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 17:06 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
1) Ожидание разрешения Unique или Primary key ограничения. 2) Ожидание освобождения ITL-слота в блоке. 3) Ожидание освобождения фрагмента BITMAP индекса 4) Ожидание освобождения блокировки Main Free Lists сегмента при возврате блоков из TFL. 5) Ожидания чтения строки которая заблокирована транзакцией в prepared состоянии (распределенные транзакции)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 17:13 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
Я и ёжик1) Ожидание разрешения Unique или Primary key ограничения. 2) Ожидание освобождения ITL-слота в блоке. 3) Ожидание освобождения фрагмента BITMAP индекса 4) Ожидание освобождения блокировки Main Free Lists сегмента при возврате блоков из TFL. 5) Ожидания чтения строки которая заблокирована транзакцией в prepared состоянии (распределенные транзакции)). спасиб. про пункт 4 не знала :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 17:49 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
А я не знал про пункт 5. Спасибо Ёжик :-) Всего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 17:57 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
АазА я не знал про пункт 5. Спасибо Ёжик :-) Засыпал раньше чем дочитывал ноту 62354.1 до конца? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 18:01 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
Я и ёжикЗасыпал раньше чем дочитывал ноту 62354.1 до конца? ;)В практике не встречал, вот, видимо, и не отложилось. Про 4-й пункт от Стива на его семинаре узнал (действительно экзотика, хотя тест-кеКс Стив демонстрировал). Всего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 18:15 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
Вот тут у Kyle Hayley встретил упоминание 6 случая Kyle Hayley 'Waits Defined' Difficult – uses modifying different data 1)ITL 2)Unique Key 3)Bitmap Index Rare 4)Read only Tablespace 5)Free Lists 6)Two phase commit Вот про 4) кто ни будь может, что сказать, что имеется ввиду? Andrei Kiselev -- The views expressed are my own and not necessarily those of my hedgehog ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2006, 17:42 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
Я и ёжик Вот про 4) кто ни будь может, что сказать, что имеется ввиду? Возможно это: Session 1 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2006, 18:01 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
any trigger on the table? Pimary/foreign key? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2006, 18:06 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
Орхидей Лавандович Thanks! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2006, 18:10 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
kapelanany trigger on the table? Pimary/foreign key? Хто здесь? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2006, 18:12 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
Я и ёжик, 4) Ожидание освобождения блокировки Main Free Lists сегмента при возврате блоков из TFL. А можно поподробнее про этот случай - у меня такая же ситуация, как у автора, но в моём случае это точно не битмап индекс и не вставка прим_кей/уник. ITL врятли - оракл 11-ый. Вот хочется кейс № 4 поподробнее узнать. В заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 16:25 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
Это как раз ITL пофиг, какая версия. Если в блоке не осталось места, то не важно, что там у тебя в MAXTRANS указано А вот использование Freelists в 11g достаточно необычно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2018, 03:22 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров, Всё равно не похоже С эмулировал ситуацию ITL Deadlock'a на тестовом серваке Deadlock graph: ---------Blocker(s)-------- ---------Waiter(s)--------- Resource Name process session holds waits process session holds waits TX-0007000c-00000c84 30 29 X 77 158 S TX-001c0013-00000072 77 158 X 23 163 S TX-00130005-00000078 23 163 X 74 36 S TX-001d0006-00000076 74 36 X 30 29 S session 29: DID 0001-001E-0000010D session 158: DID 0001-004D-00000042 session 158: DID 0001-004D-00000042 session 163: DID 0001-0017-000006B3 session 163: DID 0001-0017-000006B3 session 36: DID 0001-004A-00000042 session 36: DID 0001-004A-00000042 session 29: DID 0001-001E-0000010D Rows waited on: Session 29: no row Session 158: no row Session 163: no row Session 36: no row Rows waited on Пустой. Дамп снятый с промышленного сервера в закладке Rows waited on содержит строки Это завело меня в тупик... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2018, 22:56 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
А информации о выполняющихся операторах нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2018, 02:37 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
Yoab Rows waited on Пустой.А в itl contention не может быть конкретного row. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2018, 07:57 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров, Во всех сессиях Select 1 into i from tableA t where t.id=:B1 for update wait 1; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2018, 09:15 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
YoabДамп снятый с промышленного сервера в закладке Rows waited on содержит строкиУ дедлока есть основная 0-вая причина, описанная во первых строках трассы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2018, 10:38 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
ElicYoab Rows waited on Пустой.А в itl contention не может быть конкретного row. У дедлока в основе не менее двух блокировок, и они не обязаны быть одного типа. Потому в графе с itl contention могут спокойно располагаться и строчные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2018, 13:07 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
ElicYoabДамп снятый с промышленного сервера в закладке Rows waited on содержит строкиУ дедлока есть основная 0-вая причина, описанная во первых строках трассы. Не понял, можно поподробнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2018, 14:20 |
|
||
|
Почему deadlock?
|
|||
|---|---|---|---|
|
#18+
YoabElicУ дедлока есть основная 0-вая причина, описанная во первых строках трассы.Не понял, можно поподробнее*.trc Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2018, 14:42 |
|
||
|
|

start [/forum/topic.php?all=1&fid=52&tid=1883268]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
149ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 460ms |

| 0 / 0 |
