|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
Доброго времени. У меня вопрос об организации разработки автоматизированных регрессионных тестов на клоне БД в ~700 ГБт из ПЭ для нескольких тестировщиков. Функциональные тестировщиким готовят ТК по этой же БД. Подсушить БД или заменить синтетикой - не вариант. Есть ли способ позволить тестировщикам портить эту БД без предварительной необходимости резервировать ее по 3+ часа и восстанавливать в последствии, если что-то пойдет не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2020, 23:24 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
Не совсем понятно что тебе требуется, но похоже: 1. База в состоянии "до тестов". 2. Создаем guaranteed restore point. 3. Tестировщик Вася закончил портить БД. 4. Откатывемся (flashback to restore point). 5. Tестировщик Петя может начинать портить БД. Главное чтобы FRA хватало . SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2020, 23:44 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
Так вроде для flashback EE нужен? А ТС не удосужился редакцию указать ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 09:41 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
andrey odegov, а вариант (если оракл 12+) create pluggable database "новый контейнер для тестов" from "Основная тестовая база" SNAPSHOT COPY; не годится? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 09:59 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
11+ Код: plsql 1. 2. 3. 4. 5.
Если поддерживает СХД или FS то используя storage snapshot/storage clone Лепи сколько нужно копий ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 10:07 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
БД - Oracle 12c EE, non-CDB. Автоматизация - Appium Windows Driver. Прошу прощения за то, что не сообщил это сразу. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 10:50 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
SY, это сейчас и используется. Но тестировщики не хотят по очереди. Им хочется, что бы каждому по своей "песочнице". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 10:57 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
Надфиль, спасибо, изучим/попробуем. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 10:58 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
andrey odegov, Овес нынче дорог Multitenant опция требует доплаты 50% стоимости EE Oracle Global Prise list Как недорогой вариант ресочниц, если нет storage clone - Clone your dNFS Production Database for Testing (Doc ID 1210656.1) Но тут возникают вопросы hardware ресурсов, бо non-pdb базы жрут их больше. А вообще, я встречал (и делал) проекты с thin clone для разработчиков, но КМК, персональная песочница для разраба, возникает от кривой организацией процесса разработки. p.s. Cloud Management Pack for Oracle Database - это extra cost plugin OMS, для автоматического создания/управления/контроля таких "баз-песочниц", через портал OMS. В том числе, там можно настроить thin clone db, как раз c помощью указанных методов, в том числе storage snapshot/clone. В принципе даже работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 11:39 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
Vadim Lejnin, спасибо. Вариант более чем интересный :) Под ОС RHEL 7.4 взлетит? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 13:46 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
andrey odegovИм хочется, что бы каждому по своей "песочнице". Ну так раздайте каждому по виртуалке и пусть делают её снапшот перед смелыми экспериментами. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 13:50 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
авторЕсть ли способ позволить тестировщикам портить эту БД без предварительной необходимости резервировать ее по 3+ часа и восстанавливать в последствии, если что-то пойдет не так? авторБД - Oracle 12c EE, non-CDB. авторНо тестировщики не хотят по очереди. Им хочется, что бы каждому по своей "песочнице". Варианты есть. Только это будет, в любом случае, DIY-велосипед. Тут уже предлагали oracle clonedb. В принципе, под размеры вашей бд - технология может дать работающее, до некоторых пор, решение. Потребует, только, image-copy бэкапа исходной бд и, м.б. есть резон разворачивать клон бд в фс поддерживающей сжатие, что нибудь типа gzip1 Ещё можете упереться в необходимость постоянной доступности и актуальности Image-copy бэкапа, из которого клон(ы) лепятся - тестовые бд. Тут: зависит от того какие требования у вас к строительству тестовых бд. Если, например, будет обстановка с требованиями по провижененигу песочниц такая то запросы, на пеочницы, появляются типа такие - "вот прям щаз нада, и шобы - актуальна всё". Ну тогда, лепить такую тестовую бд из бэкапа который, например, по регламенту b&r раз в неделю по выходным готовится - не подойдёт. CloneDB, если правильно помню, можно догонять инкрементами/арх-логами, но это - очень так себе вариант, в смысле потребления дисковой ёмкости, по тестовую бд и времени её лепления. Т.е. надо будет, в таком случае, связываться с чем то вроде обновляемого инкрементами image-copу бэкапа исходной бд. По рабоче-крестьянски можно сделать так, концептуальная план-схема: 1) На стороне площадки, на которой лепите тестовые базы, соорудить себе физическую standby-бд, от исходной базы. Пусть она, эта standby-бд постоянно актуализируется. Слепить её можно и нужно, опять же, в чём нибудь что даёт более гуманное потребление дисковой ёмкости, т.е. какая то фс поддерживающая сжатие. Под виндами - не знаю что. По линуксами, ну ZoL - вполне себе, для тестовой среды, вариант. btrfs, не знаю, допилили/не допилили, емнип былотам сжатие. 2) физическая standby-бд вам провайдит актуальную, побитовую копию продакт-бд. Ну и дальше - что позволит баланс ресурсов/требований к строительству тестовых бд. Например, если у вас 12сEE и ресурсы площадки позволяют, и, к примеру, тот же ZoL (или какой то его функциональный аналог) можете 2.1) поднять, отдельно, контейнерную бд. 2.2) по требованию слепить тестовую бд - останавливаете актуализацию standby-бд. Лепите снапшот-фс для фс-а в котором живёт физ. компонента опорной standby-бд. Это быстро и минимально по дисковой ёмкости. К этому снапшоту лепите клон-фс. Может быть с компрессией какой то, если требования к продуктивности позволяют. 2.3) Подсовываете нужный конфиг субд, такой чтобы на контрольники ссылался во внось слепленных фс-ах. Запускаетесь с ним, оно запуститься до маунта и будет работать с датафайлами вот в новых фс-ах. Ну переименовываем бд, меняем dbid и вот - получили отдельную тестовую базу, актуальную, за минимум времени. 2.4) запустить опорную standby-бд - её никто и никак не трогал, когнфликта по имени бд - не будет. Запустить процесс её актуализации. 2.5) рихтовка вновь полученной бд, для перевода ея из статуса побитовой кальки исходной бд, в статус тествой бд. Ну там спойлинг табличных данных (если надо), и т.п. и т.д. Вот, всё вполне себе быстро и спортивно. Это по теме - скоростного и дешёвого лепления тестовых бд. По второй части вопроса: про быстрый откат тестовой бд к исходному (до тестов) состоянию. Ну тут всё зависит от возможностей и потребностей. Если, например, баз тестовых у вас немного (ну к примеру 2-3-4-5 шутк, такого порядка) и ресурсы серверной площадки под тестовые базы - позволяют наплодить/запустить на ней несколько экземпляров/баз - ну тогда, для того чтобы сделать откат после теста можно воспользоваться функционалом ZoL - снапшоты. Если баз данных тестовых надо лепить много больше, ну тогда, держать стандалонами, тестовые бд, на тестовой площадке - будет дорого, по кол-ву памяти для них для всех. И, тогда, как вариант и потому что у вас 12с - pdb. Т.е. поставить, на эту серверную площадку контейнерную бд. И, план выше - расширить: после получения новой тестовой бд - заводить её, как плагабле-базу, в эту контейнерную бд. Откат и тут можно сделать, тоже, концептуальная план-схема: 1) Остановка плагабле-бд. Создание снапшота для фс, в котором живут датафайлы данной pdb; Запоминаетм сцн соответствующий моменту создания снапшота. Открываем пдб 2) тесты разработчиков в этой пдб. 3) Откат: 3.1) Остановка данной пдб, анплаг и дроп, с опцией "keep datafiles"; При анплаге - варится дескрайб-файл, он будет нужен позже. 3.2) роллбак фс-а, в котором живут датафайлы данной pdb, к снапшоту созданному перед тестами разработчиков. 3.3) реплейсить, в дескрайб файле, сцн-ы, в метаданных для датафайлов. Тут уже плохо помню, fcpsb чего то там, атрибут xml-я. Смысл в том чтобы задать, в метаданных desc-файла, сцн-значение соответствующее времени создания снапшота, к которому сейчас откат делался. 3.4) создать пдб, с данным дескрайб-файлом, с опцией nocopy - файлы уже есть. открыть эту пдб это, как бы, не готовый рецепт, конечно. смотреть надо - насколько подходит/не подходит к вашим условиям/требованиям. Например если у вас разработчики нагрузочным тестированием занимаются, не функциональным: ну, вот это вот всё что я тут выше живописал - вряд ли. В тему: ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 14:15 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
andrey odegov Vadim Lejnin, спасибо. Вариант более чем интересный :) Под ОС RHEL 7.4 взлетит? Андрей, какой конкретно вариант? Если Cloud Management Pack for Oracle Database Для thin clone, то проект был еще на 11g в связке ODA+ZFS Storage Appliance Использовался ZFS snapshot/clone для thin clone Список поддерживающихся СХД был ограничен. В последних версиях, появилась поддержка pdb snapshot copy Хотя, поддержку СХД можно обойти, например корнированием крошечной dummy базы с использованием preclone/postclone scripts для подмены datafiles. Достаточно гибкий механизм получается, особенно с учетом emctl/REST api Например у нас был MS HYPER-V сервер для клонирования рабочего места разработчика + автоматом через EM REST API создавалася snaphot clone PROD базы на любой предварительно сохраненный момент времени. Но нужно накатить все последнием патчи EM Там в принципе можно клонировать не только базу. Для 11 версии проект был передан заказчику, для 12 версии, начинали, но пока тормознули. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 14:37 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
Vadim Lejnin, dNFS и clonedb. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 16:32 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
Maksim Ivanov, да у Вас готовое руководство к действию, за что большое спасибо :) Но, суровые админы ОС не допустят экспериментов с файловыми системами хоста - поэтому пока будем рыть в сторону dnfs. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 16:38 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
авторНо, суровые админы ОС не допустят экспериментов с файловыми системами хоста Так а это, тут какой хост то имеется в виду? Есть хост с продовой базой: ну, тогда серверисты - верно будут проявлять суровость, скорее всего. Отдельную площадку надо строить, для лепления тестовых баз, по любой технологии, что CloneDB, что standby+zfs рельсы и там "вот это вот всё". По вашей постановке вопроса - явно что не одной группе разрабтки песочница нужна и не одну песочницу надо. Обговаривайте с лидами групп разработки, с руководством разработки/поддержки инфосисем, вашего предприятия вопрос строительства тестовой среды. При правильной препарации-подачи расклада: они если чухнут что светит технология по которой тестовые бд, им, будут провайдится проще, быстрее - разработка встанет на вашу сторону. Серверисты, если они чухнут что вы, вашей технологией, сможете лепить тестовые бд не создавая им работы много (ну, можно например сравнить с вариантом лепления N-виртуалок) - тоже могут встать на вашу строну. Ну и вам тоже: все эти варианты, что CloneDB, что standby+zfs рельсы - они вполне себе 1) скриптуются 2) подводятся под какой нибудь дженкинс, чтобы вообще сдать основные операции ведения тестовых бд на самих разработчиков. Пусть сами, когда надо, обновляют, пересоздают, откатывают свои тестовые бд, по кнопочке в www ui Как обычно всё: таксть политесу и дипломатии на 80% дба-работы на 20%, ёмаё. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 17:16 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
Vadim Lejnin Овес нынче дорог Multitenant опция требует доплаты 50% стоимости EE Oracle Global Prise list . Была ведь информация 3 pdb per cdb for free? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 18:50 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
Rb-Sr Vadim LejninОвес нынче дорог Multitenant опция требует доплаты 50% стоимости EE Oracle Global Prise list . Была ведь информация 3 pdb per cdb for free? 1) Данная информация относится к 19 версии, для 12 версии 1 pdb 2) У ТС три разработчика? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 19:33 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
andrey odegov Vadim Lejnin, dNFS и clonedb. Взлетит, проверял нужна поддержка spare file файловой системой. Но я бы смотрел в сторону zfs для разработчиков, вполне нормальный выбор Можно также использовать ocfs2 или btrfs Save disk space on Linux by cloning files on Btrfs and OCFS2 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 19:43 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
Vadim Lejnin Rb-Sr пропущено... Была ведь информация 3 pdb per cdb for free? 1) Данная информация относится к 19 версии, для 12 версии 1 pdb 2) У ТС три разработчика? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 20:25 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
Дабы не скатиться до уровня "курилки", предлагаю "заморозить" тему. Если возникнут вопросы, то позвольте реанимировать тему, т.к. ваши советы просто откровение для меня :) Так же обещаю отписаться по результатам реализации, если это будет интересно. Всем огромное спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 20:30 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
andrey odegov Дабы не скатиться до уровня "курилки", предлагаю "заморозить" тему. Если возникнут вопросы, то позвольте реанимировать тему, т.к. ваши советы просто откровение для меня :) Так же обещаю отписаться по результатам реализации, если это будет интересно. Всем огромное спасибо. не забудьте пролицензиролвать новую площадку(и) для разработчиков ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2020, 12:09 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
Rb-Sr, спасибо за ценное напоминание. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2020, 12:59 |
|
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
|
|||
---|---|---|---|
#18+
andrey odegov, Вам тут уже подсказывали смотреть в сторону ZFS. Эта система, пожалуй, лучше всего вашим хотелкам подходит. Там делается снапшот дисковой шары, а с него можно наделать сколько угодно самостоятельных клонов, которые будут жить своей жизнью. Причем, каждый клон будет занимать значительно меньше места, чем исходные файлы БД. Место занимают только изменения. По опыту, к примеру, база 150 Тб имеет с десяток клонов и каждый клон даже при довольно интенсивном издевательстве разработчиков занимает 10...100 Гб, редко, когда до терабайтов доходит, но это при очень длительном использовании клона. Кроме всего прочего, есть сжатие. Мы у себя считали, получается довольно четкий коэффициент сжатия 6,1. Сама БД на шаре это каскадный стендбай, Снапшоты с него делаются несколько раз в сутки по расписанию. По времени создать клон занимает считанные секунды. В общем, актуализация разработческих клонов не занимает много места и каждый клон создается очень быстро, плюс, есть возможность отката и самих клонов, т.к. и у клонов можно снапшоты делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 18:16 |
|
|
start [/forum/topic.php?fid=52&fpage=45&tid=1881215]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 165ms |
0 / 0 |