
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
12.07.2018, 20:16
|
|||
|---|---|---|---|
Частичный рефреш продакшена |
|||
|
#18+
Представим себе базу, на которую каждый день заливаются дневные данные. При этом если данные старее определенного периода - это может быть неделя, месяц, год, то в текущих процессах они никак не участвуют. Конечно же, они все равно хранятся - для истории, "на всякий случай" и т.п. И теперь представим что мы хотим для UAT/SIT/DEV энвайроментов заполучить копии продакшена. Разумеется нам там не нужны "старые" данные - они только займут место, удлинят процесс рефреша и т.п. Каким образом организовать хранение данных и рефреш чтобы взять только "актуальные" данные? Ну, например, самое простое решение которое приходит в голову - для каждой таблицы на продакшене создавать ее копию ARCH_ таблицу в другом тейблспейсе, организовать автоматический процесс переноса данных в ARCH_ таблички, а при рефреше указывать пропускать этот тейблспейс. Решение наверняка сработает, но уж слишком трудоемко и уродливо. Другой способ: мы храним в другом тейблспейсе только партиции. Тогда не нужны копии таблиц, но я не пробовал и не знаю - откроется ли UAT база, если при рефреше пропустить тейблспейс, а есть таблицы у которых есть эти партиции в этом тейблспейсе. Или все будет нормально? Но наверняка есть какие-то другие способы которые мне просто не приходят в голову - опыт показывает что много людей могут иметь множество мнений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.07.2018, 04:41
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
Valergrad, Transportable Tablespaces будет быстрее всего наверное , не уверен можно ли через Golden Gate сделать вменяемо. а зачем на тест огрызок базы ? они же будут работать с другим объемом данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.07.2018, 08:35
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
ValergradДругой способ: мы храним в другом тейблспейсе только партиции. Тогда не нужны копии таблиц, но я не пробовал и не знаю - откроется ли UAT база, если при рефреше пропустить тейблспейс, а есть таблицы у которых есть эти партиции в этом тейблспейсе. Или все будет нормально?DUPLICATE ... SKIP FOREVER -- откроется с datafile offline drop (ну или просто контрольник пересоздать) Но ТП удалить не удастся, пока не будут удалены секции таблиц/индексов А это делается через EXCHANGE PARTITION / DROP PARTITION Потом удаляются ТП и перестраиваются глобальные индексы Вот только потом и начинаются заявления, что DBA хреново продуктовую БД натроил -- у меня на DEV все летает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.07.2018, 11:33
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
Valergrad, Может сделать наоборот? В PROD хранить только актуальные данные, а исторические переносить в архивную. Вы же все рано планируете: авторНу, например, самое простое решение которое приходит в голову - для каждой таблицы на продакшене создавать ее копию ARCH_ таблицу в другом тейблспейсе, организовать автоматический процесс переноса данных в ARCH_ таблички, а при рефреше указывать пропускать этот тейблспейс. Это позволит разгрузить PROD. p.s. партиции это замечательно, но это платная опция, она у Вас закуплена? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.07.2018, 13:10
|
|||
|---|---|---|---|
Частичный рефреш продакшена |
|||
|
#18+
Vadim LejninВы же все рано планируете: Вообще я как раз хотел бы этого избежать - это просто прорва работы и геморроя :) Vadim Lejninпартиции это замечательно, но это платная опция, она у Вас закуплена? эмммм, разумеется. Хотя от Ленина такая подозрительность объяснима :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.07.2018, 15:48
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
ValergradVadim LejninВы же все рано планируете: Вообще я как раз хотел бы этого избежать - это просто прорва работы и геморроя :) Vadim Lejninпартиции это замечательно, но это платная опция, она у Вас закуплена? эмммм, разумеется. Хотя от Ленина такая подозрительность объяснима :) партиции как раз и придумывались что избежать гемморой один раз настроил и забыл А потом вывел неактуальные ts в offline, или или , что удобнее Код: plsql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.07.2018, 18:42
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
А насколько много данных и какого типа? Не проще db_link прокинуть с DEV на PROM и результат селекта с прома заинсёртить в дев? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.07.2018, 20:48
|
|||
|---|---|---|---|
Частичный рефреш продакшена |
|||
|
#18+
BTM, речь не о том, как что-то заселектить, а как на регулярной основе создавать для UAT/SIT/DEV prod-like энвайроменты - но без лишних данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.07.2018, 20:52
|
|||
|---|---|---|---|
Частичный рефреш продакшена |
|||
|
#18+
Dr. SYSValergrad, а зачем на тест огрызок базы ? они же будут работать с другим объемом данных Разумеется, можно при этом не отловить перфоманс проблемы ( точне некоторое подмножество перфоманс проблем ). Для чего, конечно правильнее иметь несколько энвайроментов с настоящей копией прода. Но все остальные проблемы - ошибки деплоймента, ошибки в коде, повреждения данных, во взаимосвязях, проблемы интеграции и т.п. можно ловить и на "маленьких" копиях, кои в силу их размера можно создавать на регулярной основе и в приличном количестве. Ряд перфоманс проблем типа кривых запросов или несозданных индексов будет виден и на них тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.07.2018, 23:55
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
Valergrad, Очевидно, вы не поняли, о чем идет речь в предложении использовать db_link. Вы можете создать на dev/uat/хз базе процедуру, которая используя селект из боевой базы через дблинк, будет регулярно инсертить нужные вам данные в свои собственные таблицы. Не имеет значения, с какой базы вы протягиваете дб_линк, однажды создав процедуру и написав условия селекта, например по дате, вы всегда сможете прогнать его на любой базе и получить нужные данные в нужных таблицах. Вопрос только в том, какой объем и тип этих данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.07.2018, 00:45
|
|||
|---|---|---|---|
Частичный рефреш продакшена |
|||
|
#18+
BTM, ваш способ не приемлем по огромному количеству причин - выбирайте любую! 1. дблинки на продакшен запрещены во всех серьезных организациях. Тем более на дев! 2. объемы - десятки терабайт, по сетке их не скопируешь. 3. довольно сложно вручную написать систему которая будет отслеживать - какие данные уже копировались какие нет и т.д. и т.п. и пр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.07.2018, 00:55
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
BTMОчевидно, вы не поняли Очевидно, Вам не доводилось испытать этот "подход" ни на значительных объемах, ни на реально нагруженных подуктивных серверах. Не говорю уже о не так давно обсуждавшихся чисто логических проблемах в самом подходе. 2ТС: помимо решений класса OGG и TTS еще можно делать сплит массива на стойке, отрабатывалась как-то (успешно, кстати) админами такая технология клонирования, но подробностей не расскажу. Еще, наверное, можно попробовать несколько физических стендбаев держать "под парами" - если остывшие данные на проде хранить строго в Readonly табличных пространствах, а на стендбаях которые "под развод" вовремя делать readonly-drop. Потребовался внезапный DEV - просто отцепили стенбай, переименовали, открыли и пустили девелоперов. А на его место неспешно развернули новый :) А ежели девы-тесты в контейнерную БД разместить как pluggable, то, как старшие пацаны во дворе рассказывали, там своя технология клонирования есть для подобных случаев. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.07.2018, 12:30
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
Valergrad, Для задачи перегнать сотню гигабайт в другой инстанс, db_link вполне приемлем и даже в серьезных организациях их делают из прома на тест, соблюдая ISSP, поверьте. У вас серьезно свежие данные занимают десятки терабайт? Ничего сложного в написании селекта конечно нет, но я не настаиваю на этом подходе конечно же, вы просили способ, который использовали другие люди, вот он, он рабочий. andrey_anonymous, При всем уважении, ошибаетесь, такой подход использовать доводилось, но естественно, не на десятках терабайт. Мы же не знали изначально инфраструктуру и объемы ТС. При терабайтных объемах, БД скорее всего располагается на СХД класса Netapp или EMC, которые нативными методами могут заснэпшотить БД для теста за несколько минут. Стэндбай, кстати, хорошая идея, в сочетании со снэпшотами, в том числе средствами массива, это может оказаться выходом при таких объемах данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.07.2018, 13:46
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
andrey_anonymousА ежели девы-тесты в контейнерную БД разместить как pluggable, то, как старшие пацаны во дворе рассказывали, там своя технология клонирования есть для подобных случаев. ну, во-первых, и рабочку тоже при этом надо для удобства в контейнерную. а во-вторых, какая именно "своя" технология из для выделения части данных, отличающаяся из упоминавшихся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.07.2018, 15:58
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
AlexVinкакая именно "своя" технология из для выделения части данных, отличающаяся из упоминавшихся? http://www.oracle.com/technetwork/database/multitenant/overview/multitenant-wp-12c-2078248.pdf Чтить Clone PDB Refreshable PDB Еще встречал какой-то success story на Edition-based, но сейчас под рукой ссылки нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.07.2018, 18:30
|
|||
|---|---|---|---|
Частичный рефреш продакшена |
|||
|
#18+
andrey_anonymousAlexVinкакая именно "своя" технология из для выделения части данных, отличающаяся из упоминавшихся? http://www.oracle.com/technetwork/database/multitenant/overview/multitenant-wp-12c-2078248.pdf Чтить Clone PDB Refreshable PDB Еще встречал какой-то success story на Edition-based, но сейчас под рукой ссылки нет. У нас пока 11.2 и переход будет очень нескоро :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.07.2018, 09:47
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
andrey_anonymousAlexVinкакая именно "своя" технология из для выделения части данных, отличающаяся из упоминавшихся? Чтить Clone PDB Refreshable PDB еще раз повторю - для выделения ЧАСТИ данных Clone PDB - там можно так же скип таблеспейс сделать но клонировать с такими-то таблицами или их партициями, а другими нет - так нельзя кстати, для сценариев "клоне-тест-убили" оракелы позиционировали снапшот пдб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.07.2018, 11:07
|
|||
|---|---|---|---|
Частичный рефреш продакшена |
|||
|
#18+
AlexVin, +1 ничего особенного этот клон pdb не представляет. Тот же дупликейт вид сбоку. Снапшоты pdb вроде не плохо.. Но если посчитать сколько за это надо будет заплатить - всякое желание использовать отпадает. В общем сабсеттинг и датапамп наше все для дева. Если разработчиков ... должным образом... спросить, то окажется что им надо от силы процентов 2-5% от всей бд. А для приемочных-нагрузочных тестов - снапшот со стендбая силами оракла или СХД. Надо просто правильно разделить разработку и QA, не мешать в одну кучу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.07.2018, 14:49
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
AlexVinandrey_anonymousЧтить Clone PDB Refreshable PDB еще раз повторю - для выделения ЧАСТИ данных Clone PDB - там можно так же скип таблеспейс сделать ... кстати, для сценариев "клоне-тест-убили" оракелы позиционировали снапшот пдб Не читатель... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.07.2018, 19:29
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
нивапрос - ткни носом плз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.07.2018, 19:43
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
Valergrad, Снапшоты базы средствами сторожа, как уже сказали, спасут отца демократии. Получаются практически моментально и места не занимают почти. Всю жисть так делали, на Natapp-e, например. Ну и Оракел, по-моему, умеет снэпшотить. Но сколько это будет стоить? не проверял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.07.2018, 20:03
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
AlexVinнивапрос - ткни носом плз Ну давайте чтить вместе. По ссылке: 1. Про клонирование (clone pdb) авторcreate pluggable database target from source; что суть собственный инструмент CDB, такой вопрос звучал в топике в форме "какая именно "своя" технология". Это по сути создание стендбая с боя одной командой. В принципе, можно и частичного клона включить в технологию, как тут уже обсуждали, но если строить рекомендованную схему prod->единственный "золотой" мастер-клон->девы, тесты и т.п. в количестве, то, вероятно, сама идея "частичности" уже не будет так актуальна. С другой стороны, не вижу, что мешает при необходимости дропнуть RO-табличные пространства из мастер-клона. С третьей стороны, вроде как, никто особо не запрещает делать мастер-клона иными средствами. Теперь про 2. Refreshable PDB авторOnce the initial clone is complete, the database is available for use. The intended use case of Refreshable PDB is as a “golden master” database. That is, a database from which individual developers take clones – typically, and most efficiently snapshot clones (which can be created in seconds or minutes even for very large databases ). Snapshot clones are dealt with elsewhere in other White Papers available from Oracle. As a “golden master” database, this Refreshable PDB should remain open read-only between refreshes. The PDB must be closed during the refresh operation itself. Это к "альтернативному" замечанию про snapshot-клонов, что и позволило сделать вывод о том, что ссылка не читана :) Ну и на сладкое: авторNow, as the clone becomes stale, we can refresh it. We do this by applying all the redo that’s accumulated since it was last refreshed. Even if the source database is enormous, the incremental redo will typically be much smaller. It’s therefore going to be a much, much quicker process than the initial hot clone. Therefore, it’s going to be much simpler to keep production clones refreshed with recent data copied from production. Refreshable PDBs may be defined to be refreshed either automatically (on a specific schedule) or manually (refreshed on-demand). It is also possible to perform an on-demand refresh of a PDB defined to be refreshed automatically. A PDB defined to be automatically refreshed can be transitioned to being manually refreshed, and vice versa Т.е., вообще говоря, нет необходимости загружать DBA дурной работой в виде периодического повторения полного цикла операций по клонированию (да еще и ~частично повторять по числу потребных "частичных" клонов). Раз настроил-присматривай в пол-глаза. Девелоперы и тестеры лепят себе "условно-бесплатные" (по ресурсам) клоны по потребности, не привлекая DBA по мелочам и не требуя новых и новых ресурсов под новые и новые "частичные" клоны, и имеют при этом относительно свежие данные и структуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.07.2018, 11:17
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
andrey_anonymous, мы юзаем и clone и снапшот, и это очень удобно. и я понял, что ты имеешь ввиду, говоря "нет необходимости". но если буквально, то никакой новой своей технологии нет, не будем больше это пережевывать каждый на свой лад) да и если призадуматься, при такой реализации и быть не может. аффтор же советовался, как правильно разложить данные, чтобы часть их потом было удобно тягать так или эдак) попробовать рефреш пока руки не дошли (если они applying all the redo that’s accumulated - то где они accumulated? - не даёт убивать архивлоги на исходнике, пока не отрефершат?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.07.2018, 14:58
|
|||
|---|---|---|---|
|
|||
Частичный рефреш продакшена |
|||
|
#18+
andrey_anonymousДевелоперы и тестеры лепят себе "условно-бесплатные" (по ресурсам) клоны по потребности Это все тонко. У нас лицензируется и QA в силу http://www.oracle.com/us/corporate/pricing/databaselicensing-070584.pdf this limited license allows the user to develop applications using the licensed products as long as such applications have notbeen used for any data processing, business, commercial, or production purposes Очевидно, что клон продакшена как раз попадает под это, иначе зачем он нужен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&mobile=1&tid=1883714]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
153ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 214ms |
| total: | 470ms |

| 0 / 0 |
