|
|
|
перестройка индекса при разбиении партиции
|
|||
|---|---|---|---|
|
#18+
Есть партиционированная таблица, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Индексы W4_ENTRY$IACCDT, W4_ENTRY$IDT также разбиты по партициям. Сейчас наступает момент, когда хочется отодвинуть MAXVALUE подальше, т.е. разбить последнюю партицию на две Код: plsql 1. 2. 3. Есть несколько вопросов, связанных в основном с желанием понять как будет работать механизм разбиения. Ибо таблица гигантская и используется постоянно (почти круглосуточно на чтение и 2-4 часа на обновление), возможности экспериментировать с ней нет. 1) Как я понимаю, поскольку все данные сейчас по текущую дату, физически записи перемещаться не будут и разбиение произойдет быстро? 2) Таким же макаром нужно разбить индексы alter index W4_ENTRY$IDT split partition P_MAXVALUE at (20160331) into (partition P_2016_04_01, partition P_MAXVALUE) nologging; 3) Нужно ли при этом делать update global indexes при alter table? В доке написано Any global indexes, or all partitions of partitioned global indexes, are marked UNUSABLE and must be rebuilt. Сделал тестовую табличку с партициями, разбил, посмотрел dba_ind_partitions - все индексы и все партиции остались USABLE, и с update indexes, и без. Причем это и при разбиении, и если не делать оного. 4) А локальный индекс обновится сам автоматически? Nobody faults but mine... (LZ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2016, 12:45 |
|
||
|
перестройка индекса при разбиении партиции
|
|||
|---|---|---|---|
|
#18+
Если при разбиении (split) секции таблицы хотя бы одна из двух получившихся новых не имеет записей, то будет просто переиспользован старый сегмент, добавлен пустой и инвалидации индексов не будет (Fast Split partitioning in 9iR2 (Doc ID 232628.1), How to Perform a FAST SPLIT PARTITION Using ALTER TABLE? (Doc ID 1268714.1)) Локальные индексы также разобьются и останутся валидными Но вот дальше разбиение глобальных индексов -- это, насколько помню, нельзя сделать в ONLINE, поэтому может потребоваться "технологическое окно" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2016, 02:00 |
|
||
|
перестройка индекса при разбиении партиции
|
|||
|---|---|---|---|
|
#18+
aag, правильно ли я понимаю что вы без согласия вендора решили создавать объект в их схеме?По моему это не возможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 15:35 |
|
||
|
перестройка индекса при разбиении партиции
|
|||
|---|---|---|---|
|
#18+
aag,может быть имеет смысл перестроить уже существующую таблицу? create or replace table ENTRY ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 15:41 |
|
||
|
перестройка индекса при разбиении партиции
|
|||
|---|---|---|---|
|
#18+
supersupport, новый тролль? ты вообще хоть понял о чем тут речь идет? :) И зачем поднимать старую тему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 17:01 |
|
||
|
перестройка индекса при разбиении партиции
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровЕсли при разбиении (split) секции таблицы хотя бы одна из двух получившихся новых не имеет записей, то будет просто переиспользован старый сегмент, добавлен пустой и инвалидации индексов не будет (Fast Split partitioning in 9iR2 (Doc ID 232628.1), How to Perform a FAST SPLIT PARTITION Using ALTER TABLE? (Doc ID 1268714.1)) Вопрос как к гуру... Имеем партицированную таблицу, выполняем все условия для FAST SPLIT. Но есть одно "но" - нет индекса по партицироемому полю (дата). В итоге имеем full scan партиции, все остальное - как положено - индексы целы, данные на прежнем месте + созданная новая партиция. Без создания индекса можно этого избежать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2016, 13:48 |
|
||
|
перестройка индекса при разбиении партиции
|
|||
|---|---|---|---|
|
#18+
FULL SCAN-а? Как я понимаю, нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2016, 13:52 |
|
||
|
перестройка индекса при разбиении партиции
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровFULL SCAN-а? Как я понимаю, нет ок. будем строить индекс... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2016, 14:44 |
|
||
|
перестройка индекса при разбиении партиции
|
|||
|---|---|---|---|
|
#18+
посоветуйте и мне - индекс на две части разбить. Примеры смотрел, походжего не нашел Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2016, 14:51 |
|
||
|
перестройка индекса при разбиении партиции
|
|||
|---|---|---|---|
|
#18+
1. Посмотри синтаксис команды 2. Локальные индексы разбиваются автоматом при разбиении таблички, ручками это запрещено 3. Возможно, тебе достаточно будет переименовать автоматически созданную новую секцию индекса (а скорее всего и это не надо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2016, 03:55 |
|
||
|
перестройка индекса при разбиении партиции
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров1. Посмотри синтаксис команды 2. Локальные индексы разбиваются автоматом при разбиении таблички, ручками это запрещено 3. Возможно, тебе достаточно будет переименовать автоматически созданную новую секцию индекса (а скорее всего и это не надо)спасибо, всё сделал Код: plsql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2016, 08:10 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39363111&tid=1886854]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
195ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 519ms |

| 0 / 0 |
