|
|
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Разделил одну большую партицию в таблице на две поменьше. Теперь поиск по базе очень долго идет. Посмотрел dba_ind_statistics так там у локальных индексов отсутствуют данные о кол-ве строк и дате последнего анализа. Теперь надо пересоздавать все индексы на эту таблицу? Это будет очень долго по времени. Есть другой способ исправить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 07:29 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Chukis, тип индексов какой? в каком состоянии индексы? для появления информации о кол-ве строк и т.д. нужно пересобирать статистику по требуемой секции индекса, а не перестраивать индекс полностью... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 07:48 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
И зачем человеку, спрашивается, голова, если есть быстрые руки? Что думало, то потом и болит - жопа. RTFM Splitting Partitions (FAQ) : "If the partition you are splitting contains any data, then indexes …" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 07:50 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, индексы были локальные. состояние индексов из таблицы dba_indexes - N/A а как пересобрать статистику для конкретной таблицы? раньше я использовал команду ANALYZE TABLE ABROAD COMPUTE STATISTICS FOR ALL INDEXES, а в данном случае как сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 07:54 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Chukis, читать про dbms_stats и забыть об analyze. информацию по секциям индекса нужно смотреть не в DBA_INDEXES, а в dba_ind_partitions и dba_part_indexes; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 08:00 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, Статус для индексов в новых партициях - UNUSABLE Все остальные локальные индексы в других партициях - USABLE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 08:08 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эхчитать про dbms_statsМедвежья доброта... А есть, по чему собирать статистику? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 08:10 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
В общем надо что то вот такое выполнить 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); Из-за того что индекс стал неиспользуемым и стали тормозить выборки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 08:15 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Тебе надо перестроить UNUSABLE секции индекса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 08:17 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров, Так все-таки rebuild сделать или пересобрать статистику? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 08:30 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Chukis, для начала - rebuild, но только секций в состоянии UNUSABLE. Далее - собрать статистику по вкусу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 08:32 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, Я так понимаю команда для перестройки такая ALTER INDEX schema_name.index_name REBUILD PARTITION partition_name; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 08:36 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Chukis, зависит от версии сервера. можно и через ALTER TABLE <table_name> MODIFY PARTITION <part_name> REBUILD UNUSABLE LOCAL INDEXES; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 08:41 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, В общем, индексы я перестроил, которые были unusable. Статистику не пересобирал, поле last_analyze имеет свежее значение. Но возникла одна проблема. Вижу, что долго висят на выполнении пара заданий, где идет поиск по вьюхе, которая объединяет пару таблиц, одна из которых та, в которой индексы перестраивал. Копирую этот "тяжелый" селект в sql navigator и запускаю - он отрабатывается за пару секунд. Почему тогда не выполняются запросы пользователей через web-форму? Как посмотреть что стопорит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2017, 16:43 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Планы остались старые При перестроении [секций] индексов автоматически пересобралась статистика, но наверняка в там какой-нибудь AUTO_INVALIDATION, планы не инвалидировались Совет грубый и для больших систем не очень желательный, но действенный -- ALTER SYSTEM FLUSH SHARED_POOL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2017, 16:47 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровALTER SYSTEM FLUSH SHARED_POOLИнвалидировать курсоры можно и не так сурово :) Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2017, 16:52 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров, При перестроении [секций] индексов автоматически пересобралась статистика, но наверняка в там какой-нибудь AUTO_INVALIDATION, планы не инвалидировались В общем надо пересобрать статистику? По локальному индексу в партиции или надо для всех партиций? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2017, 16:57 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Я дал самый простой совет Если у тебя не тысячи разобранных курсоров, то оно будет практически незаметно Естественно, инвалидировать можно более избирательно, но я посчитал, что ты все равно не будешь этим заморачиваться PS. Если таки решишь пересобрать статистику в ручную, то есть смысл обратиться к документации и посмотреть, что означают параметры DBMS_STATS (хотя тебя же тянет в сторону ANALIZE...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2017, 17:05 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
ORA__SQLВячеслав ЛюбомудровALTER SYSTEM FLUSH SHARED_POOLИнвалидировать курсоры можно и не так сурово :) Код: plsql 1. Насколько помню, уже в 11g перестал инвалидировать курсоры Не надо выпячивать свое "что-то где-то слышал" В 11g есть и более тонкие способы инвалидации конкретных курсоров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2017, 17:07 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров, На сколько замедлиться выполнение запросов после очистки разделяемого пула командой ALTER SYSTEM FLUSH SHARED_POOL ? Если надо выполнить данную команду на "боевой" БД, то хотелось бы знать последствия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2017, 17:20 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Есть подозрение, что ты даже не заметишь просадки производительности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2017, 17:25 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Оно станет заметно, если у тебя несколько тысяч достаточно часто используемых однотипных (с точностью до биндов) разобранных операторов и/или операторы достаточно сложные, объединяющие много таблиц и/или секционированных таблиц с большим количеством секций. Да, в этом случае желательно инвалидировать только те операторы, которые относятся к затрагиваемым табличкам, а то и вообще именно конкретные с плохим планом Но, что-то мне кажется, что это не твой случай -- уж если ты в рабочее время бьешь таблички, потом еще полдня обходишься без индексов, секундная задержка тебя сильно не напряжет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2017, 17:32 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров, что то особых изменений в выполнении запросов я не заметил. как висели так и висят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2017, 17:39 |
|
||
|
Разделение партиций и перестройка индексов
|
|||
|---|---|---|---|
|
#18+
команду по сбросу пула выполнил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2017, 17:40 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=161&tid=1885870]: |
0ms |
get settings: |
7ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 429ms |

| 0 / 0 |
