|
enq: TX - contention
|
|||
---|---|---|---|
#18+
xtender Кобанчег Что даст полезного сия информация для тюнинга merge что без нее непонятно? Например, можно еще проверить компрессию таблицы. Был ли concurrent сбор статистики или DDL типа alter table, index rebuild, etc. Можно посмотреть другие детали из ash (sql_exec_id, sql_exec_start, что косвенно может указывать на рестарт, но вряд ли это тот случай). На версии 11.2 мы сталкивались с тем, что при параллельный DML в subpartitioned table Oracle накладывал TM enqueue in exclusive mode на все подсекции в результате чего либо всё вставало колом либо вообще сыпались дедлоки. Это опять же не этот случай, но намекает что может быть полнейший абсурд и неплохо бы еще раз понаблюдать за блокировками во время выполнения (в ash то попадает только active). Если есть база для экспериментов, то неплохо бы воспроизвести, потом выполнить без параллельности и еще без sub-partitions. Так путем проб и анализа нащупывается подход который работает приемлемо. Еще раз: определяется фактор из-за которого проблема с производительностью. Дальнейший вопрос уже как это решать - code fix, patch (или вообще миграция на новую версию), или банально некоторая манипуляция DBA. Александру был задан вопрос что понять смысл альтернативного подхода. Вероятно в его практике обычно невозможно не то, что провести ряд экспериментов но даже выполнить повторный прогон и вместо анализа различных подходов он будет смотреть на ядрёные функции. Потом вероятно поднимет SR и будет ждать пока починят. Каждому своё. Можно пойти дальше - дизассемблер в руки и ковырять кишки. Этот парень может много про это рассказать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 14:00 |
|
enq: TX - contention
|
|||
---|---|---|---|
#18+
Кобанчег, 1. Ну зачем же гадать? BGAAG! 2. Александр посоветовал очень здравый правильный системный траблшутинг, безо всяких гаданий. 3. У Александра огромный опыт и знания в траблшутинге(в том числе работы в самом оракл), так что не надо измышлизмов, что он сделает и в какой ситуации. Если ты что-то не понял в его словах, то не надо сразу оголтело наезжать - просто спроси, и, скорее всего, с его долготерпением он постарается доходчиво объяснить. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 14:09 |
|
enq: TX - contention
|
|||
---|---|---|---|
#18+
xtender, Саян, а может тебе хватит выступать адвокатом людей и указывать что кому делать? Ты не заметил как после твоих нравоучений ( 22122317 ) неожиданно пропал -2-, санитар леса ты наш. Я просто спросил как ему поможет знание callstack в решении этой конкретной проблемы. Про наезды это твои домыслы. Может ты дашь хотя бы одну ссылку где лично ты описываешь как тебе помог callstack, я с удовольствием почитаю. Только не надо давать ссылки на описание в духе "наука ради науки", я тоже не раз ковырял сие. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 14:22 |
|
enq: TX - contention
|
|||
---|---|---|---|
#18+
Кобанчег, offtop Кобанчег Саян, а может тебе хватит выступать адвокатом людей и указывать что кому делать? Кобанчег Ты не заметил как после твоих нравоучений ( 22122317 ) неожиданно пропал -2-, санитар леса ты наш. Кобанчег Действовать как правило лучше скальпелем чем кувалдой. Код: plsql 1.
Кобанчег Я просто спросил как ему поможет знание callstack в решении этой конкретной проблемы. Про наезды это твои домыслы. Хочешь продолжить этот абсолютно оффтопный разговор - напиши мне на почту. Эта тема не место для такого рода оффтопа. Кобанчег Может ты дашь хотя бы одну ссылку где лично ты описываешь как тебе помог callstack, я с удовольствием почитаю. зы. http://orasql.org/2017/12/13/collection-iterator-pickler-fetch-pipelined-vs-simple-table-functions/ По сабжу: Кобанчег Здравый смысл подсказывает, что если в обычных условиях всё работает ОК Кобанчег 99.9% можно определить без callstack ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 14:41 |
|
enq: TX - contention
|
|||
---|---|---|---|
#18+
xtender а как тебе понравится если на твое Кобанчег Действовать как правило лучше скальпелем чем кувалдой. Код: plsql 1.
Конструкция как раз была приведена чтобы адресат обосновал необходимость более общей конструкции, если в ней есть необходимость для его целей (которые мне были не до конца ясны). Факт кривой копипасты тоже абсолютно очевиден. У меня нет особого ЧСВ и это меня никак не ранит. xtender Кобанчег Может ты дашь хотя бы одну ссылку где лично ты описываешь как тебе помог callstack, я с удовольствием почитаю. зы. http://orasql.org/2017/12/13/collection-iterator-pickler-fetch-pipelined-vs-simple-table-functions/ Спасибо за предложение на писать на почту, на этом, пожалуй, можно закруглится. Я думаю твоя позиция про очень здравый правильный системный траблшутинг TX - contention в случае merge понятна, но мне было интересно мнение господина Анохина. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 15:13 |
|
enq: TX - contention
|
|||
---|---|---|---|
#18+
Кобанчег Может ты дашь хотя бы одну ссылку где лично ты описываешь как тебе помог callstack, я с удовольствием почитаю. Только не надо давать ссылки на описание в духе "наука ради науки", я тоже не раз ковырял сие. И xtender Что конкретно ты предлагаешь адекватно, технически? Без гаданий, типа "проверить компрессию таблицы"(про которую, Александр уже дал ноту), "Был ли concurrent сбор статистики или DDL типа alter table, index rebuild, etc" ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 15:30 |
|
enq: TX - contention
|
|||
---|---|---|---|
#18+
Кобанчег но мне было интересно мнение господина Анохина. Кобанчег Я думаю твоя позиция про очень здравый правильный системный траблшутинг TX - contention Да, в этом случае именно hang analyze dump, или лучше system state dump, это системный и правильный траблшутинг TX - contention. ASH тоже полезно, особенно когда надо понять как события развивались, но в данном случае правильный дамп полезнее, поскольку "enq: TX - contention" это достаточно общий wait event, их около 4-х разных, если не ошибаюсь, и первым делом стоит понять какой именно это "enq: TX - contention" из всего их многообразия, вместе с цепочкой ожиданий, кто в каком месте ждёт, и кто финальный блокер и что он делает. Кобанчег Может ты дашь хотя бы одну ссылку где лично ты описываешь как тебе помог callstack, я с удовольствием почитаю. https://support.oracle.com/epmos/faces/DocumentDisplay?id=2488646.1 Slow extent allocation for partitioned compressed table causing slowdown with enq: tx - contention and l1 validation wait events When it happens, most of PX slaves wait for "TX - contention" and stack for blockers (PX slaves as well) contains ktsp_bump_hwm, which means we are trying to extend the segment to get new space and are on CPU ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 16:26 |
|
enq: TX - contention
|
|||
---|---|---|---|
#18+
Alexander Anokhin Кобанчег но мне было интересно мнение господина Анохина. Мне по прежнему не совсем понятно какие дальнейшие шаги при таком подходе после получения стека. Искать ядрёные функции на металинке или еще чего. Alexander Anokhin Да, в этом случае именно hang analyze dump, или лучше system state dump, это системный и правильный траблшутинг TX - contention Для просмотра полного дерева блокировок или callstack или всё сразу? И главное в какой момент если maria_1992 "выполняется" больше суток ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 16:49 |
|
enq: TX - contention
|
|||
---|---|---|---|
#18+
Alexander Anokhin Эта была цитата из закрытого документа, её стоит удалить. Тут приоткрыто https://support.oracle.com/knowledge/Oracle Database Products/2488646_1.html Slow extent allocation for partitioned compressed table causing slowdown with enq: tx - contention and l1 validation wait events When it happens, most of PX slaves wait for "TX - contention" and stack for blockers (PX slaves as well) contains ktsp_bump_hwm, which means we are trying to extend the segment to get new space and are on CPU остальное в https://support.oracle.com/epmos/faces/DocumentDisplay?id=2488646.1 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 16:51 |
|
enq: TX - contention
|
|||
---|---|---|---|
#18+
maria_1992 Всех приветствую. Прошу помощи:) 1. Есть партиционированная табличка T (схема партиционирования range(date_col) interval(numtodsinterval (1, 'day')) subpartition by list col2). 2. Есть процедура для заливки данных в эту таблицу(T). 3. В процедуре есть такой вот фрагмент: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
В общем итог этого всего - процедура "выполняется" больше суток и enq: TX - contention составляет 94% активности. Подскажите, пожалуйста, куда смотреть(dynamic performance views, может статьи какие-то) и как узнать, что кроется под этим enq: TX - contention, знаю что enq: TX разные бывают, а что конкретно в этом случае - не понятно. А для каких целей может понадобиться именно такой попартиционный мерж в цикле, почему просто не использовать мерж в таблицу без циклов и отдельных партиций? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 10:48 |
|
enq: TX - contention
|
|||
---|---|---|---|
#18+
beginner2020 А для каких целей может понадобиться именно такой попартиционный мерж в цикле, почему просто не использовать мерж в таблицу без циклов и отдельных партиций? Вопрос адресован ко всем у кого есть мысли на этот счет:) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 16:35 |
|
enq: TX - contention
|
|||
---|---|---|---|
#18+
beginner2020 beginner2020 А для каких целей может понадобиться именно такой попартиционный мерж в цикле, почему просто не использовать мерж в таблицу без циклов и отдельных партиций? Вопрос адресован ко всем у кого есть мысли на этот счет:) Как вариант - локализация технологических операций по загрузке хранилища (разделы, не участвующие в текущей фазе операции загрузки, доступны для обычных операций без ограничений). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 16:39 |
|
|
start [/forum/topic.php?fid=52&msg=39956374&tid=1881263]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 251ms |
0 / 0 |