|
|
|
distributed transaction waiting for lock
|
|||
|---|---|---|---|
|
#18+
Добрового всем. Стал получать такую ошибку: ORA-02049: timeout: distributed transaction waiting for lock Ошибка плохая, потому что то происходит, то нет, т.е. чётко воспроизвести нельзя. После какого действия она может происходить знаю. Везде пишут, что это связано с dblink'ми на внешние базы. Да, у меня есть таковые на MS SQL-сервера, но когда стал получать эту ошибку, то перестал их задействовать, т.е. не выполняю запросы с их участием, а ошибка всё-равно периодически происходит. Возможно ли появление такой ошибки без какой либо связи с dblink'ми на внешние сервера БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2018, 00:48 |
|
||
|
distributed transaction waiting for lock
|
|||
|---|---|---|---|
|
#18+
verter, Какая версия базы? Возможно это твой случай - Recommended patching and actions for Oracle database versions 12.1.0.1, 11.2.0.3 and earlier - before June 2019 (Doc ID 2335265.1) На случай если нет доступа: Oracle Database versions 11.1.0.7, 11.2.0.3 & 12.1.0.1 are strongly recommended to be patched to the patchset/PSU levels mentioned below before June 2019 to resolve potential future issues in terms of interoperability of dblinks. No action is needed if you are running database releases/versions 12.2, 12.1.0.2 or 11.2.0.4. If you are still using 10.2 or earlier releases and using dblinks with later database releases, this note applies. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2018, 07:09 |
|
||
|
distributed transaction waiting for lock
|
|||
|---|---|---|---|
|
#18+
На каком уровне возникает ошибка (приложение, процесс загрузки, etc)? Приложение на чем написано? используются ли распределенные ранзакции (XA)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2018, 09:18 |
|
||
|
distributed transaction waiting for lock
|
|||
|---|---|---|---|
|
#18+
Я использую версию Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2018, 17:53 |
|
||
|
distributed transaction waiting for lock
|
|||
|---|---|---|---|
|
#18+
Беда в том, что после этой ошибки сервер загибается, т.е. работать становится всё медленнее и медленнее, в конце концов фиксация изменений в базе начинают происходить бесконечно долго. Т.е. всё это похоже на настоящий deadlock. Как можно сделать так что если уж случился такой дэдлок, то просто отменить совершенное действие и главное сделать так чтобы сервер не зависал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2018, 18:01 |
|
||
|
distributed transaction waiting for lock
|
|||
|---|---|---|---|
|
#18+
slow brainНа каком уровне возникает ошибка (приложение, процесс загрузки, etc)? Приложение на чем написано? используются ли распределенные ранзакции (XA)? В триггере происходит удаление строк в таблице, в этот момент срабатывает джоб, в котором выполняется гетерогенный селект, в тексте которого содержится дблинк на внешнюю БД MSSQL. Этот селект так же делает выборку из обновляемой в триггере таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2018, 18:03 |
|
||
|
distributed transaction waiting for lock
|
|||
|---|---|---|---|
|
#18+
Пусть бы эта ошибка иногда происходила бы - ничего страшного, операцию DML можно и повторить, но в результате этой ошибки происходит дэдлок и БД перестаёт работать вообще. Как бы написать обработчик этой ошибки, в котором просто её игнорировать, чтобы исключить её влияние на работу всего остального? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2018, 19:07 |
|
||
|
distributed transaction waiting for lock
|
|||
|---|---|---|---|
|
#18+
verterно в результате этой ошибки происходит дэдлок и БД перестаёт работать вообще. анекдотТоварищи ученые, у меня в подвале происходит подземный стук! Объясните пожалуйста, отчего он происходит... Начните с начала - ознакомьтесь с механизмами: https://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_txns.htm#i1307516 Потом изучите картину блокировок "загибающегося" сервера - не вообще, а на конкретных выборках. DBA_WAITERS/DBA_HOLDERS, V$LOCK и DBA_2PC_* в помощь. Возможно, делу поможет увеличение общего допустимого количества распределенных транзакций и собственно значения таймаута - но только когда разберетесь в проблеме детально, а не на уровне подземных стуков. И для справки - oracle не имеет обыкновения висеть на deadlock. Как только в графе блокировок образуется цикл - он рвется посредством выбивания "замыкающей" этот цикл операции с ORA-00060: Deadlock detected. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2018, 19:24 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39636932&tid=1884087]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 328ms |

| 0 / 0 |
