powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Починка статистики: философский вопрос
11 сообщений из 11, страница 1 из 1
Починка статистики: философский вопрос
    #39535125
Valergrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предположим, у нас в хранилище есть запросы которые работают нестабильно. Анализ показал, что проблема в статистике по нескольким таблицам, которая давно не обновлялась.
Логичным выглядит решение: собрать актуальную статистику. Анализ показывает что это пофиксит эти планы.
Проблема в том, что код переполнен хинтами, на базе куча профилей и бейзлайнов ( даже автоматический захват бейзлайнов включен). Это означает, что теоретически мы нашим чейнджем можем улучшить ряд планов, но при этом можем сломать ряд других, среди которых могут оказаться более критичные. Сломаем мы конечно правильно, но тем не менее, ночных звонков не хотелось бы.
Существует ли способ проверить как наш патч повлияет на общий перфоманс системы до его применения?
Вариант: проверить на UAT-базах разумеется хорош. Проблема в том, что как ты ни старайся, сделать UAT полностью на 100% эквивалентным проду не получится ( по административным причинам в частности), а в перфоманс вещах важной может оказаться любая деталь. Какие есть еще варианты? Как вы поступаете в подобных случаях?
Предположим, мы извлечем из AWR все сколько-нибудь нагруженные запросы которые связаны с этими таблицами. Как проверить, что эти запросы станут работать не хуже во всех возможных ситуациях? Запускать их - не очень вариант, т.к. это хранилище и некоторые из них работают часами. Можно ли сделать сколько-нибудь эстимейт потребления ресурсов для запроса не запуская его? Какие ресурсы необходимо при этом учитывать? Существуют ли инструменты в т.ч. стандартные оракловые для подобных вещей?
...
Рейтинг: 0 / 0
Починка статистики: философский вопрос
    #39535129
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну не знаю, как можно докатиться до жизни такой....
Без реально работающей базы прошлой версии/дня/обновления.
Я даже не представляю.
Если только объём уж сильно большой.
...
Рейтинг: 0 / 0
Починка статистики: философский вопрос
    #39535204
pihel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valergrad,

возможно получится провести тест используя pending stat

правда публиковать новую статистику для нужной сессии нужно будет вручную:
ALTER SESSION SET OPTIMIZER_USE_PENDING_STATISTICS=TRUE;
...
Рейтинг: 0 / 0
Починка статистики: философский вопрос
    #39535301
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValergradСуществуют ли инструменты в т.ч. стандартные оракловые для подобных вещей? Database Replay

Не очень понятно почему нельзя иметь аналог прода. Если есть sensitive info - настраиваете data masking.
Если проблема с объемами, то, насколько я понимаю, речь про хранилище и можно переносить не все секции, а часть.

Да и вообще повествование выглядит в духе: у нас там бардак, здесь костыли, как все сразу исправить при этом безопасно и seamless.

Безопасность можно обеспечить тем, что статистику можно откатить обратно - resore%stats или export%stats -> import%stats - смотри детали в dbms_stats.
ValergradМожно ли сделать сколько-нибудь эстимейт потребления ресурсов для запроса не запуская его?План посмотреть. Tuning Advisor, вероятно, может что-то показать точнее, но я бы не тратил время на это балавство.

PS. Профили и бейзлайны это лишь временный и относительно безопасный фикс, так что если вы долгое время не делали нормальных улучшений, то за лень в итоге надо платить. Хотя в лучае бейзлайнов по-моему полностью индифферентно, что вы соберете статистику. И от тех и от других надо избавляться имхо.
...
Рейтинг: 0 / 0
Починка статистики: философский вопрос
    #39535311
Фотография essbase.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valergrad,

>> Предположим, у нас в хранилище есть запросы которые работают нестабильно
можно ли переписать запрос , что бы он без статистики строил правильный план, например используя left join к справочникам , вместо перечисления их через запятую в from ?
...
Рейтинг: 0 / 0
Починка статистики: философский вопрос
    #39535320
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
essbase.ruValergrad,

>> Предположим, у нас в хранилище есть запросы которые работают нестабильно
можно ли переписать запрос , что бы он без статистики строил правильный план, например используя left join к справочникам , вместо перечисления их через запятую в from ?Зачем ты пишешь эти тупости?
...
Рейтинг: 0 / 0
Починка статистики: философский вопрос
    #39535338
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Valergrad,

Скачай курс по performance tuning именно этот вопрос там раскрыт
...
Рейтинг: 0 / 0
Починка статистики: философский вопрос
    #39535690
Valergrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderValergrad,

Скачай курс по performance tuning именно этот вопрос там раскрыт

Какой именно курс?
...
Рейтинг: 0 / 0
Починка статистики: философский вопрос
    #39535713
Rudyshin Sergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valergrad,

можно попробовать сделать следующее
с прома экспортировать:
- схему(ы) без данных
- статистику, в том числе и системную
- все запросы
- планы выполнения запросов
- настройки влияющие на планы построения запросов

на тестовой базе импортирвать все что возможно импортирвать. Сгенерировать планы для всех запросов и убедиться, что они совпадают с промовскими.
Возможно придется распарсить промовские планы и извлечь байнд переменные.

Если это сработает, то можно менять статистику по своему усмотрению. Заново генерировать планы и проверять как это сказывается на планах.
Т.е. получается некоторое регрессионное тестирование.

Наверное будут трудности с получением планов, если на проме активно используется dynamic_sampling (не везде статистика собрана)

Сам в процессе реализации этой задумки. Надеюсь получится.
...
Рейтинг: 0 / 0
Починка статистики: философский вопрос
    #39535725
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Valergrad,

поищи про dbms_sqlpa(SQL Performance Analyzer), например, тут: https://oracle-base.com/articles/11g/sql-performance-analyzer-11gr1#sql_performance_analyzer_api
А вообще сходил бы на курс или скачал его с трекера какого-нибудь, там именно эта тема хорошо разжевана.


зы. Хотя лично я таким не пользуюсь...
...
Рейтинг: 0 / 0
Починка статистики: философский вопрос
    #39535746
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rudyshin Sergeyна тестовой базе импортирвать все что возможно импортирвать.
Так он говорит именно о том, что тестовой базы он сделать не может.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Починка статистики: философский вопрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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