|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
Надо одну секцию в partiton table закрыть для выборок по ней. Планирую в эту партицию заливать данные и потом строить локальные индексы. На ум приход создать вью и прописать условие, которое исключит раздел из поиска. Может есть более кошерный способ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 15:52 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
Зурбаганболее кошерный способ? Без подробностей сложно, но как вариант FGAC ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 16:15 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 16:26 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
ЗурбаганПланирую в эту партицию заливать данные и потом строить локальные индексы. зачем именно вы хотите закрыть доступ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 16:31 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
кит северных морейзачем именно вы хотите закрыть доступ? Таблица - "боевая", по ней постоянно кто-то что-то ищет. И тут я начну заливать в партицию данные с отключенными индексами. И что получится? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 16:36 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
Зурбаганкит северных морейзачем именно вы хотите закрыть доступ? Таблица - "боевая", по ней постоянно кто-то что-то ищет. И тут я начну заливать в партицию данные с отключенными индексами. И что получится? нужно разбираться, как именно вы заливаете данные - возможен вариант, что индексы можно и не отключать - но вообще в таких случаях, как уже написали, имеет смысл смотреть в сторону exchange partition ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 16:45 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
Зурбаганзаливать в партицию данные с отключенными индексамиДавай ddl "отключения". ЗурбаганИ что получится? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 17:02 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
Зурбаганзаливать в партицию данные Однако это совсем другая задача. Не "исключить из поиска", а "залить данные". Создаете non-partitioned таблицу, льете в нее данные, создаете индексы, идентичные локальным боевой, и выполняете exchange partition. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 17:09 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
andrey_anonymous Создаете non-partitioned таблицу, льете в нее данные, создаете индексы, идентичные локальным боевой, и выполняете exchange partition. non-partitioned таблица должна быть в том же табличном пространстве, что и partitioned таблица? Или не имеет значения? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 17:22 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
Зурбаганnon-partitioned таблица должна быть в том же табличном пространстве, что и partitioned таблица? Или не имеет значения? Она должна быть там, где должны лежать данные. При exchange partition данные никуда перемещаться не будут, это словарная операция ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 17:32 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
Однако не забываем про global indexes - UPDATE GLOBAL INDEXES. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 19:26 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
SYОднако не забываем про global indexes - UPDATE GLOBAL INDEXES. Ну если уж углубляться, то with/without validation тоже неплохо бы вспомнить :) https://docs.oracle.com/database/121/VLDBG/GUID-E08650B4-06B1-43F9-91B0-FBF685A3B848.htm#VLDBG1156 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 20:48 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
andrey_anonymousНу если уж углубляться, то with/without validation тоже неплохо бы вспомнить :) Я к тому что в реальной жизни exchange partition не совсем словарная операция. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 21:24 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
SYЯ к тому что в реальной жизни exchange partition не совсем словарная операция. exchange - словарная. А вот валидация и перестроение глобального индекса (вариант - модный update indexes) - нет. И того, и другого можно избежать, если принять во внимание жизненный цикл данных на этапе проектирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 15:14 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
andrey_anonymousИ того, и другого можно избежать, если принять во внимание жизненный цикл данных на этапе проектирования. И как же избежать перестроение глобального индекса при partition exchange? Не создавать ? SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 15:20 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
SYНе создавать ? Именно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 15:21 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
andrey_anonymousИменно :) Т.е. оставим referential integrity на усмотрение приложения (т.е на усмотрение девелоперов)... SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 15:47 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
SYТ.е. оставим referential integrity на усмотрение приложения (т.е на усмотрение девелоперов)... На больших системах это достаточно частый вариант. Он работоспособен, если между "усмотрением приложения" и "усмотрением девелопера" нет тождества, зато есть архитектурный надзор. Ссылочная целостность может обеспечивается базовыми объектами/библиотеками приложения, также встречал вариант, когда согласование ddl типа добавления поля в таблицу или создания индекса выносилась на уровень вице-президента компании-разработчика :) А на мелких системах и индекс перестроить не грех, современное железо многое позволяет. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 15:58 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
В общем, я точно знаю что во временной таблице данные будут для одного раздела, поэтому буду применять without validation. Если еще и с опцией INCLUDING INDEXES выполнить, то локальные индексы тоже перенесутся и будут валидные? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 15:59 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
Зурбагантоже перенесутся и будут валидные? Да ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 15:59 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
andrey_anonymousНа больших системах это достаточно частый вариант. Согласен что такие системы (особенно DWH) имеют место быть, но очень часто (если не чаще) мы имеем master/detail таблицы и посему партицирование by reference где без RI никак. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 16:55 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
SYочень часто (если не чаще) мы имеем master/detail таблицы и посему партицирование by reference где без RI никак. OLTP - да, у них свои тараканы, но эти системы обычно не очень крупные. Миксы OLTP+DWH типа биллингов и платежных систем начиная с некоторого масштаба склонны к поддержанию целостности на уровне приложения, а также обзаводятся инструментами ILM. Ну и про "никак" применительно к секционированию по ссылке - слишком сильное утверждение, если говорим про этап проектирования, даже для OLTP. С третьей стороны, partition by reference не обязательно требует глобальных индексов: Код: 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. 30. 31. 32. 33.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 17:45 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
andrey_anonymousС третьей стороны, partition by reference не обязательно требует глобальных индексов: Не улавливаю смысл партицирования по ID особенно когда ID это artificial key. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 17:59 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
SY Не улавливаю смысл партицирования по ID особенно когда ID это artificial key. Хотя для data purge можно худо-бедно приспособить. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 18:02 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
SYНе улавливаю смысл партицирования по ID особенно когда ID это artificial key. Мы же не обсуждаем конкретную систему/проект, верно? Просто напоминаю, что PK/UK можно построить на префиксированном локальном индексе, и, как следствие, принципиальная возможность использовать ссылочное секционирование на локальных индексах существует. Все зависит от требований к системе и проектных решений, т.е. от тех компромиссов, которые были приняты на этапе проектирования. И нет, я не утверждаю, что глобальные индексы - абсолютное зло . Но стараюсь их избегать. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2019, 18:18 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
То есть, Создается non-partition table в том же табличном пространстве, где и partition table целевая таблица находится. Индексы создаются такие же как и локальные в partition table. Данные переливаются в non-partition table. При exchange partition по сути на уровне словаря БД происходит отметка, что данные теперь находятся в partition table, а индексы теперь являются локальными в partition table. Я правильно понял? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 06:14 |
|
Как в partiton table одну секцию закрыть для доступа
|
|||
---|---|---|---|
#18+
Зурбаган, Думаю, что индексы надо будет перестраивать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2020, 17:08 |
|
|
start [/forum/topic.php?all=1&fid=52&tid=1881627]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 183ms |
0 / 0 |