|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Добрый день, Прошу совета куда копать. Недавно разделили нашу БД, одни схемы перенесли на новый сервер. Далее, на новом сервере, большая часть отчётов перестали использовать индексы, а время расчётов возросло в 10ки раз. При использовании индексов через хинты - производительность просела ещё больше. Статистика собирается с такими же настройками, что и на старой БД. Сам новый сервер, даже чуть мощнее чем старый. схемы переносили через просто expdp/impdp. Примеры планов ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 12:40 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Во дела: чаще всего по вопросам оптимизации приводят только запросы без планов. А тут наоборот - планы без запросов. Вангую - должны быть access/filter predicates - на них бы обратить сначала внимание. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 12:47 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
esir, " - Петька, приборы? - 42, Василь Иваныч! - Что - "42"? - А что - "приборы" "(c) Вот и у вас также. Это что за планы? Старые быстрые? Новые медленные? Сам по себе план ни о чем не скажет. Нужно сравнение хорошие/плохие. Или сильно больше информации, как -то : аппаратная конфигурация обоих серверов, настройки инстансов, структуры данных и схемы их индексации, примерные объемы и распределения этих данных... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 12:48 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Щукина Анна, оу, через "лупу" стали видны микроскопические надписи типа "старый", "новый"... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 12:50 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
А индексы то все есть и в валидном статусе? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 12:53 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
AmKad, Спасибо за ответ, не совсем я компетентен в вопросе чтения планов, но "Predicate Information (identified by operation id):" нашёл, посмотрю. Но вопрос чуть более глобальный, я не могу понять почему так выросло время исполнения? и это далеко не один отчёт... данные те же, эти же самые отчеты до переноса бежали в 10ки раз быстрее... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 12:54 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
esir, про "одинаковость статистики" как-то "меня терзают смутные сомнения"(с). если вы выделили примерно одинаковые куски плана, то, судя по всему, трансформации у вас совсем по разному происходят. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 12:56 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
esirПри использовании индексов через хинты - производительность просела ещё больше. Если уж взялись хинтовать - крепите, как минимум: - методы доступа - порядок соединения - методы соединения А то у Вас IFS по UK-индексу под тот же HJ получился. 1. Проверьте параметры оптимизатора на новом сервере (сравните со старым). 2. Соберите профили/бэйслайны по интересующим запросам на "старом" сервере и экспортните на новый. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 12:56 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Vivat!San, да, на этих схемах всё валидно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 12:57 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Щукина Аннаesir, про "одинаковость статистики" как-то "меня терзают смутные сомнения"(с). если вы выделили примерно одинаковые куски плана, то, судя по всему, трансформации у вас совсем по разному происходят. джоб который собирает статистику - тоже был экспортирован, и не менялся. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 12:59 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
esirНо вопрос чуть более глобальный, я не могу понять почему так выросло время исполнения? и это далеко не один отчёт... данные те же, эти же самые отчеты до переноса бежали в 10ки раз быстрее...Вы же сами себе ответили - "разные планы исполнения". Ведь язык SQL - "декларативный". Вы лишь просите, каким условиям должны удовлетворять ответы на запрос. "Логическую модель" исполнения запроса (план) сервер выбирает сам. Ошибся на одном шаге - и пошло-поехало... Нужно было вылить воду из ведра методом "возьми и выплесни", а сервер решил, что самое подходящее - "вычерпать воду чайной ложкой". И это еще хорошо, что чайной ложкой, а не шумовкой... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 13:00 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
esirДобрый день, Сам новый сервер, даже чуть мощнее чем старый. Это ещё ничего не значит, параметры сравните. sga_target, pga_aggregate_target, buffer_cache_size, производительность storage. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 13:02 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Vivat!SanesirДобрый день, Сам новый сервер, даже чуть мощнее чем старый. Это ещё ничего не значит, параметры сравните. sga_target, pga_aggregate_target, buffer_cache_size, производительность storage.тут еще большой вопрос такого плана - а оракл-то знает, что теперь он работает на "даже чуть мощнее чем старый" сервере? (привет системная статистика... ;)) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 13:08 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Системная статистика -- это последнее, на что стоит обратить внимание А вот хотя бы системные параметры сверить... Мож у него на старом экземпляре hash_join_enabled=false Ну и надо не забывать, что миграция через exp/imp [dp] может здорово изменить распределение данных ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 13:12 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Vivat!SanЭто ещё ничего не значит, параметры сравните. sga_target, pga_aggregate_target, buffer_cache_size, производительность storage.а если там AMM и кроме MEMORY_MAX_TARGET и MEMORY_TARGET ничего не задано? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 13:13 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Vivat!SanЭто ещё ничего не значит, параметры сравните. sga_target, pga_aggregate_target, buffer_cache_size, производительность storage. optimizer% для начала. И режим работы оптимизатора. Судя по "старому" плану этому "отчету" показан first_rows(n) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 13:15 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Щукина Анна MEMORY_TARGET ничего не задано? это ламерство надо сразу выключать. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 13:20 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
andrey_anonymousVivat!SanЭто ещё ничего не значит, параметры сравните. sga_target, pga_aggregate_target, buffer_cache_size, производительность storage. optimizer% для начала. И режим работы оптимизатора. Судя по "старому" плану этому "отчету" показан first_rows(n) тогда уж с COMPATIBLE )) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 13:22 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Vivat!SanesirДобрый день, Сам новый сервер, даже чуть мощнее чем старый. Это ещё ничего не значит, параметры сравните. sga_target, pga_aggregate_target, buffer_cache_size, производительность storage. Как раз таки на старом сервере у нас memory_max_target и memory_target по 115гб. на новой sga_max_size и sga_target по 80гб, pga_aggregate_target 28гб Вечером на новом сделаю как на старом, проверю, будет ли разница. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 13:42 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
andrey_anonymousVivat!SanЭто ещё ничего не значит, параметры сравните. sga_target, pga_aggregate_target, buffer_cache_size, производительность storage. optimizer% для начала. И режим работы оптимизатора. Судя по "старому" плану этому "отчету" показан first_rows(n) Вот настройки нового сервера по optimizer%. разница со старым, что optimizer_features_enable на старом 11.2.0.3 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 13:45 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
esirКак раз таки на старом сервере у нас memory_max_target и memory_target по 115гб. на новой sga_max_size и sga_target по 80гб, pga_aggregate_target 28гб Вечером на новом сделаю как на старом, проверю, будет ли разница. сравните на новом и старом - V$SGA_DYNAMIC_COMPONENTS не понял что на новом с memory_max_target и memory_target? (выпилите их совсем из параметров) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 13:49 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Вячеслав ЛюбомудровСистемная статистика -- это последнее, на что стоит обратить внимание А вот хотя бы системные параметры сверить... Мож у него на старом экземпляре hash_join_enabled=false hash_join_enabled нет ни на старом ни на новом. Вячеслав ЛюбомудровНу и надо не забывать, что миграция через exp/imp [dp] может здорово изменить распределение данных А как бы вы посоветовали переносить схемы, если необходимо их вынести на другой сервер? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 13:51 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
esirданных А как бы вы посоветовали переносить схемы, если необходимо их вынести на другой сервер?[/quot] как удобно так и переносите, главное, чтобы производительность системы ввода/вывода держала требуемую нагрузку. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 13:52 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Vivat!SanesirКак раз таки на старом сервере у нас memory_max_target и memory_target по 115гб. на новой sga_max_size и sga_target по 80гб, pga_aggregate_target 28гб Вечером на новом сделаю как на старом, проверю, будет ли разница. сравните на новом и старом - V$SGA_DYNAMIC_COMPONENTS скрины сравнения не понял что на новом с memory_max_target и memory_target? (выпилите их совсем из параметров) на новом memory_max_target memory_target по нулям. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 13:56 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
В сообщении выше забыл разъединить цитирование , картинки уехали в цитирование. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 13:58 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
esir memory_max_target memory_target по нулям. совсем удаляйте, чтобы не было этих параметров. отдельно sga, pga управляйте. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 14:02 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
esirПрошу совета куда копать.в сравнение 10053 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 14:16 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Vivat!Sanesirmemory_max_target memory_target по нулям. совсем удаляйте, чтобы не было этих параметров. отдельно sga, pga управляйте. На старом серваке эти параметры стоят( У меня совсем нет опыта ручного распределения этих параметров, почитаю что-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 14:18 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
xtenderesirПрошу совета куда копать.в сравнение 10053 Насколько я помню 10053 мне должен показать ПОЧЕМУ оракл не подхватил индекс, но когда был прописан хинт с этим индексом, оказалось что СВО был прав и с этим индексом сейчас всё ещё тяжелее. Или я не прав? Я сейчас пытаюсь понять, почему стало всё настолько тяжелее. Теже шаги, а время на них тратиться гораздо больше. ПС Могу писать неправильные вещи, ибо не знаком глубоко с оптимизацией оракла. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 14:31 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
esirxtenderпропущено... в сравнение 10053 Насколько я помню 10053 мне должен показать ПОЧЕМУ оракл не подхватил индекс "Подхватить" можно по разному. Вам удалось "подхватить" IFS с выходом в HJ+HJ вместо IRS+NL+NL Сказал же, взялись хинтовать - не останавливайтесь на полдороги. ...10053 покажет какие варианты вообще рассматривались и почему отсеяны. найдете в трассе интересующий вариант, разберетесь как именно он проиграл варианту HJ - тогда станет понятно что делать. Но сразу скажу - в 10053 очень многабукф. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 14:54 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
andrey_anonymousesirпропущено... Насколько я помню 10053 мне должен показать ПОЧЕМУ оракл не подхватил индекс "Подхватить" можно по разному. Вам удалось "подхватить" IFS с выходом в HJ+HJ вместо IRS+NL+NL Сказал же, взялись хинтовать - не останавливайтесь на полдороги. ...10053 покажет какие варианты вообще рассматривались и почему отсеяны. найдете в трассе интересующий вариант, разберетесь как именно он проиграл варианту HJ - тогда станет понятно что делать. Но сразу скажу - в 10053 очень многабукф. я как то пользовал 10053, пару мегабайт текста на 5 строк запроса, что-то типа такого. но я просто хочу уточнить, извиняюсь за возможную глупость, но нырять сейчас в 10053 это, для меня будет очень надолго, хотел просто дополнительно уточнить - нет ли ещё каких-то тонкостей куда можно глянуть, после такого переезда. пс Система ввода вывода аналогичная, массив из ссд. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 15:30 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
esirнет ли ещё каких-то тонкостей куда можно глянуть, после такого переезда. На тему "глянуть тонкости" трасса 10053 суть "all inclusive". Если же Вам просто переехать - то соберите и перенесите, в зависимости от версии, бэйслайны, SQL-профили, аутлайны, наконец :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 15:36 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
esirкуда можно глянуть, после такого переездаТебе уже сказали - сравнить статистику. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 15:40 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
-2-сравнить статистику. ...ее тоже можно экспортнуть из "старой" системы ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 15:53 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Профилей как таковых нет, один с 2014 года. бейслайнами тоже практически не пользуемся, пару штук всего. А вот статистику, перетянул статистику со старой бд через Код: plsql 1. 2. 3. 4. 5.
Нужный индекс стали иметь одинаковые свойства, кроме размера, на старой бд 2,51гб, на новой 1,18гб. Да и вообще созданные на новой бд индексы - весят все гораздо меньше. При тестировании, план не поменялся, один в один как и до импорта статистики. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 16:41 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
esirПрофилей как таковых нет, один с 2014 года. бейслайнами тоже практически не пользуемся, пару штук всего. Ну блин. Дык СОБЕРИТЕ жеж для нужных запросов, раз работают как заповедано... ...или 10053 копайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 16:49 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
andrey_anonymousesirПрофилей как таковых нет, один с 2014 года. бейслайнами тоже практически не пользуемся, пару штук всего. Ну блин. Дык СОБЕРИТЕ жеж для нужных запросов, раз работают как заповедано... Чем сейчас и занимаюсь активно, Но проблема, что ВСЕ запросы стали висеть. Вечером попробую с памятью поэкспериментировать, как посоветовали выше... может поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 17:12 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
esirпроблема, что ВСЕ запросы стали висеть. Вообще тут еще стоит вопрос определения "висит". Надеюсь, под "не висит" понимается не возврат первой строки , а полная выборка? "Новый" сервер предположительно тяготеет к HJ и совсем не факт, что задержка выдачи первой строки, описанная как "висение", по факту хуже исходного "не висит" (если речь именно об отчетах, а не про UI). Попробуйте свои запросы в режиме оптимизатора first_rows. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 17:18 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
andrey_anonymousesirпроблема, что ВСЕ запросы стали висеть. Вообще тут еще стоит вопрос определения "висит". Надеюсь, под "не висит" понимается не возврат первой строки , а полная выборка? "Новый" сервер предположительно тяготеет к HJ и совсем не факт, что задержка выдачи первой строки, описанная как "висение", по факту хуже исходного "не висит" (если речь именно об отчетах, а не про UI). Попробуйте свои запросы в режиме оптимизатора first_rows. Простой пример, запрос возвращающий 30 000 строк на старом сервере около минуты выполняется, на новом - порядка 40 минут. Попробую вашу рекомендацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 17:31 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Если система имеет отчётный характер смотрите в сторону увеличения pga_aggregate_target (откусывая от sga), либо отдельно крутите параметр _pga_max_size. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 18:02 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Что в V$SQL_WORKAREA_HISTOGRAM? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 18:08 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Есть запрос на энве А с хорошим планом и такой же запрос на энве B c такими же таблицами и данными с плохим планом. Задача: определить почему на B был выбран другой план. Задача абсолютно стандартная и кажется что порядок действий очевиден и осуществляется не включая разум. Сначала нужно запустить запрос на энве B c "хорошим" планом. Это делается элементарно: на энве A c помощью пакета dbms_xplan.display_cursor с опцией +outline получаем OUTLINE секцию плана. На энве B вставляем в текст селекта в виде хинта этот аутлайн. Дальше соответственно 2 варианта. 1) На энве B все равно получился другой план. Это значит что Оракл физически не может исполнить старый план. Индекс невалиден, нет какого-то констрейнта, не поддерживается какая-то трансформация... Случай с индексами и констрейтами отличается по сравнению секции ACESS PREDICATES/FILTER PREDICATES на обоих энвах в секции PREDICATES. 2) План с хорошего энва получился, но его стоимость оказалась другой, не такой как на энве A. Получаем таким же образом "плохой" план на энве A. Далее два варианта глядя на 4 полученные цифры коста: 2a) На B стоимость "хорошего" плана выше чем надо ( т.е. чем на А) 2b) На B стоимость "плохого" плана ниже чем надо ( т.е. чем на А) В обоих случаях действует одинаково. Открываем в winmerge сравнение планов ( например в 2а) это будет "хороший" план с A и В), находим первую строчку в порядке выполнения у которой кост сильно отличается на А и В. Понимаем, почему кост отличается для этой строчки ( разный набор данных, разная статистика). Если даже для этой конкретной строчки непонятно почему такой разный кост - пишем простейший запрос который делает ровно то же, что эта отдельная строчка и запускаем его на обоих энвах с трассировкой 10053. Для простого запроса из одной-двух таблиц трасса 10053 вполне читабельна, в том же winmerge две трассы сравнить - и готово. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 20:48 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Valergradв winmergeЭто реклама? Или узость кругозора? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2019, 07:34 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
Всем привет, В общем перенёс аутлайны через хинты - всё пока стало на место, пытаюсь теперь понять как достичь такого же эффекта автоматический, чтобы нормальный планы строились без аутлайнов. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2019, 10:55 |
|
При переезде перестали использоваться индексы.
|
|||
---|---|---|---|
#18+
ElicValergradв winmergeЭто реклама? Или узость кругозора? Это экономия времени. "Winmerge" написать короче чем "доступная вам на работе сравнивалка двух файлов". Или вы всерьез думали что я не знаю, что множество программ умеют сравнивать файлы? Или вы всерьез подумали что я буду рекламировать winmerge оставляя комментарии в теме про оптимизацию производительности? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2019, 13:15 |
|
|
start [/forum/topic.php?all=1&fid=52&tid=1882379]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 181ms |
0 / 0 |