powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Разделение партиций и перестройка индексов
25 сообщений из 27, страница 1 из 2
Разделение партиций и перестройка индексов
    #39458522
Chukis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разделил одну большую партицию в таблице на две поменьше.
Теперь поиск по базе очень долго идет. Посмотрел dba_ind_statistics так там у локальных индексов отсутствуют данные о кол-ве строк и дате последнего анализа.
Теперь надо пересоздавать все индексы на эту таблицу? Это будет очень долго по времени. Есть другой способ исправить?
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39458529
Chukis,

тип индексов какой? в каком состоянии индексы?
для появления информации о кол-ве строк и т.д. нужно пересобирать статистику по требуемой секции индекса, а не перестраивать индекс полностью...
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39458532
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И зачем человеку, спрашивается, голова, если есть быстрые руки? Что думало, то потом и болит - жопа.
RTFM Splitting Partitions (FAQ) : "If the partition you are splitting contains any data, then indexes …"
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39458533
Chukis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,
индексы были локальные.
состояние индексов из таблицы dba_indexes - N/A
а как пересобрать статистику для конкретной таблицы?
раньше я использовал команду ANALYZE TABLE ABROAD COMPUTE STATISTICS FOR ALL INDEXES, а в данном случае как сделать?
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39458535
Chukis,

читать про dbms_stats и забыть об analyze.
информацию по секциям индекса нужно смотреть не в DBA_INDEXES, а в dba_ind_partitions и dba_part_indexes;
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39458537
Chukis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,
Статус для индексов в новых партициях - UNUSABLE
Все остальные локальные индексы в других партициях - USABLE.
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39458539
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эхчитать про dbms_statsМедвежья доброта...
А есть, по чему собирать статистику?
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39458541
Chukis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем надо что то вот такое выполнить

DBMS_STATS.GATHER_INDEX_STATS (
ownname=>'ADMIN',
indname=>'IBDEX',
partname=>'TRAN_DIM_200609',
estimate_percent=>null,
stattab=>'INDEX_STAT',
statid=>null,
statown=>'SYS',
degree=>2,
granularity=>'PARTITION',
no_invalidate=>DBMS_STATS.AUTO_INVALIDATE,
force=>TRUE);


Из-за того что индекс стал неиспользуемым и стали тормозить выборки?
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39458542
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе надо перестроить UNUSABLE секции индекса
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39458546
Chukis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав Любомудров,

Так все-таки rebuild сделать или пересобрать статистику?
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39458547
Chukis,

для начала - rebuild, но только секций в состоянии UNUSABLE. Далее - собрать статистику по вкусу...
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39458549
Chukis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,
Я так понимаю команда для перестройки такая
ALTER INDEX schema_name.index_name REBUILD PARTITION partition_name;
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39458550
Chukis,

зависит от версии сервера. можно и через ALTER TABLE <table_name> MODIFY PARTITION <part_name> REBUILD UNUSABLE LOCAL INDEXES;
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39459840
Chukis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,

В общем, индексы я перестроил, которые были unusable. Статистику не пересобирал, поле last_analyze имеет свежее значение.

Но возникла одна проблема.
Вижу, что долго висят на выполнении пара заданий, где идет поиск по вьюхе, которая объединяет пару таблиц, одна из которых та, в которой индексы перестраивал.
Копирую этот "тяжелый" селект в sql navigator и запускаю - он отрабатывается за пару секунд.

Почему тогда не выполняются запросы пользователей через web-форму? Как посмотреть что стопорит?
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39459844
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Планы остались старые

При перестроении [секций] индексов автоматически пересобралась статистика, но наверняка в там какой-нибудь AUTO_INVALIDATION, планы не инвалидировались

Совет грубый и для больших систем не очень желательный, но действенный -- ALTER SYSTEM FLUSH SHARED_POOL
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39459847
ORA__SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровALTER SYSTEM FLUSH SHARED_POOLИнвалидировать курсоры можно и не так сурово :)
Код: plsql
1.
comment on table ... is
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39459851
Chukis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав Любомудров,

При перестроении [секций] индексов автоматически пересобралась статистика, но наверняка в там какой-нибудь AUTO_INVALIDATION, планы не инвалидировались

В общем надо пересобрать статистику? По локальному индексу в партиции или надо для всех партиций?
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39459860
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я дал самый простой совет
Если у тебя не тысячи разобранных курсоров, то оно будет практически незаметно

Естественно, инвалидировать можно более избирательно, но я посчитал, что ты все равно не будешь этим заморачиваться

PS. Если таки решишь пересобрать статистику в ручную, то есть смысл обратиться к документации и посмотреть, что означают параметры DBMS_STATS (хотя тебя же тянет в сторону ANALIZE...)
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39459862
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ORA__SQLВячеслав ЛюбомудровALTER SYSTEM FLUSH SHARED_POOLИнвалидировать курсоры можно и не так сурово :)
Код: plsql
1.
comment on table ... is

Насколько помню, уже в 11g перестал инвалидировать курсоры
Не надо выпячивать свое "что-то где-то слышал"
В 11g есть и более тонкие способы инвалидации конкретных курсоров
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39459873
Chukis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав Любомудров,
На сколько замедлиться выполнение запросов после очистки разделяемого пула командой ALTER SYSTEM FLUSH SHARED_POOL ?
Если надо выполнить данную команду на "боевой" БД, то хотелось бы знать последствия.
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39459878
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть подозрение, что ты даже не заметишь просадки производительности
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39459882
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оно станет заметно, если у тебя несколько тысяч достаточно часто используемых однотипных (с точностью до биндов) разобранных операторов и/или операторы достаточно сложные, объединяющие много таблиц и/или секционированных таблиц с большим количеством секций.

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

Но, что-то мне кажется, что это не твой случай -- уж если ты в рабочее время бьешь таблички, потом еще полдня обходишься без индексов, секундная задержка тебя сильно не напряжет
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39459886
Chukis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав Любомудров,
что то особых изменений в выполнении запросов я не заметил. как висели так и висят.
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39459887
Chukis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
команду по сбросу пула выполнил
...
Рейтинг: 0 / 0
Разделение партиций и перестройка индексов
    #39459891
Фотография Takurava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chukisчто то особых изменений в выполнении запросов я не заметил. как висели так и висят.На начавшиеся до сброса запросы это не действует - только на вновь появившиеся.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Разделение партиций и перестройка индексов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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