Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / expdp: lock held by in-doubt distributed transaction / 12 сообщений из 12, страница 1 из 1
11.01.2019, 09:06
    #39758250
AlexVin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp: lock held by in-doubt distributed transaction
oracle 12.1.0.2.180717

экпортим табличку

Код: plsql
1.
2.
3.
ORA-31693: Table data object "USER1"."TAB1" failed to load/unload and is being skipped due to error:
ORA-29913: error in executing ODCIEXTTABLEPOPULATE callout
ORA-01591: lock held by in-doubt distributed transaction 111.22.33333



как так?? почему??
неужели нельзя просто считать данные на некий момент времени?
...
Рейтинг: 0 / 0
11.01.2019, 09:24
    #39758259
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp: lock held by in-doubt distributed transaction
AlexVinнеужели нельзя просто считать данные на некий момент времени?Если распределенная транзакция прервалась между фазами коммита, то ее глобальное состояние неизвестно.
...
Рейтинг: 0 / 0
11.01.2019, 09:24
    #39758260
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp: lock held by in-doubt distributed transaction
...
Рейтинг: 0 / 0
11.01.2019, 09:35
    #39758267
AlexVin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp: lock held by in-doubt distributed transaction
вопрос не про как откатить.
вопрос, что получается при активно работающем приложении, лупящим распределенными транзакциями, большую таблицу просто невозможно выгрузить(

-2-AlexVinнеужели нельзя просто считать данные на некий момент времени?Если распределенная транзакция прервалась между фазами коммита, то ее глобальное состояние неизвестно.

undo ведь никуда не подевалось. разве не?
...
Рейтинг: 0 / 0
11.01.2019, 09:55
    #39758279
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp: lock held by in-doubt distributed transaction
AlexVinвопрос не про как откатить.
вопрос, что получается при активно работающем приложении, лупящим распределенными транзакциями, большую таблицу просто невозможно выгрузить
in-doubt ("сомнительное") - суть [короткое] состояние транзакции между фазами двухфазного коммита.
Это промежуток времени, в который все участники распределенной транзакции должны подтвердить успешное завершение первой фазы (собственно фиксации изменений).
Если кто-либо участников распределенной транзакции подтверждения не прислал (или сообщение не дошло), то, вообще говоря, неизвестно - завершена ли транзакция или ее следует откатывать - опять-таки - всем участникам.
Поскольку в распределенной транзакции участвует несколько систем, то undo отдельно взятой по понятным причинам не спасает.
Более того, это состояние не всегда позволяет выполнить согласованное чтение, что ведет к блокировке select... собственно, это, AFAIR, единственный случай, когда select может "повиснуть" на транзакционной блокировке :)
...
Рейтинг: 0 / 0
11.01.2019, 10:10
    #39758287
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp: lock held by in-doubt distributed transaction
andrey_anonymousПоскольку в распределенной транзакции участвует несколько систем, то undo отдельно взятой по понятным причинам не спасает.
И да, in-doubt "автомагически" разрешается процессом RECO при восстановлении связи с проблемным узлом - если, конечно, RECO не отключен.

На всякий случай почитайте dba_2pc_pending - давно ли висит и когда ее последний раз дергал RECO.
Если все работает штатно, то попробуйте из спортивного интереса покрутить DISTRIBUTED_LOCK_TIMEOUT.
...
Рейтинг: 0 / 0
11.01.2019, 10:12
    #39758288
AlexVin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp: lock held by in-doubt distributed transaction
чисто по-житейски, если непонятно, могли бы и взять состояние до.)
непонятно, как данные выгрузить-то без оффлайн приложения.
тыкать expdp пока не повезет?
переводить стендбай в снапшот, откатывать распределенки.
что ещё можно придумать?
...
Рейтинг: 0 / 0
11.01.2019, 10:15
    #39758291
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp: lock held by in-doubt distributed transaction
AlexVinвзять состояние доСостояние данных не определено. Сделай всем зависшим транзакциям коммит или роллбак и состояние будет определено на данный момент.
...
Рейтинг: 0 / 0
11.01.2019, 10:22
    #39758296
AlexVin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp: lock held by in-doubt distributed transaction
-2-Сделай всем зависшим транзакциям коммит или роллбак и состояние будет определено на данный момент.
не могу по моральным принципам ;)
...
Рейтинг: 0 / 0
11.01.2019, 11:44
    #39758354
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp: lock held by in-doubt distributed transaction
AlexVin,

Код: plsql
1.
expdp flashback_time=systimestamp
...
Рейтинг: 0 / 0
11.01.2019, 11:45
    #39758358
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp: lock held by in-doubt distributed transaction
AlexVin,
Но в Datapump Export (Expdp) Fails With ORA-31693, ORA-29913, ORA-01591 Due To Pending Distributed Transactions (Doc ID 1908869.1)
Говорят, чистить однако надо
...
Рейтинг: 0 / 0
11.01.2019, 12:14
    #39758370
AlexVin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp: lock held by in-doubt distributed transaction
flashback_time есть

Vadim Lejnin (Doc ID 1908869.1)
Говорят, чистить однако надо

дауж
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / expdp: lock held by in-doubt distributed transaction / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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