Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления? / 25 сообщений из 25, страница 1 из 1
16.05.2020, 23:24
    #39958492
andrey odegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
Доброго времени.
У меня вопрос об организации разработки автоматизированных регрессионных тестов
на клоне БД в ~700 ГБт из ПЭ для нескольких тестировщиков.
Функциональные тестировщиким готовят ТК по этой же БД.
Подсушить БД или заменить синтетикой - не вариант.
Есть ли способ позволить тестировщикам портить эту БД без предварительной
необходимости резервировать ее по 3+ часа и восстанавливать в последствии, если
что-то пойдет не так?
...
Рейтинг: 0 / 0
16.05.2020, 23:44
    #39958495
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
Не совсем понятно что тебе требуется, но похоже:

1. База в состоянии "до тестов".
2. Создаем guaranteed restore point.
3. Tестировщик Вася закончил портить БД.
4. Откатывемся (flashback to restore point).
5. Tестировщик Петя может начинать портить БД.

Главное чтобы FRA хватало .

SY.
...
Рейтинг: 0 / 0
17.05.2020, 09:41
    #39958522
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
Так вроде для flashback EE нужен?
А ТС не удосужился редакцию указать
...
Рейтинг: 0 / 0
17.05.2020, 09:59
    #39958524
Надфиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
andrey odegov,

а вариант (если оракл 12+)

create pluggable database "новый контейнер для тестов" from "Основная тестовая база" SNAPSHOT COPY;

не годится?
...
Рейтинг: 0 / 0
17.05.2020, 10:07
    #39958525
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
11+
Код: plsql
1.
2.
3.
4.
5.
alter database convert to snapshot database;
...
test
...
alter database convert to physical standby;




Если поддерживает СХД или FS

то используя storage snapshot/storage clone
Лепи сколько нужно копий
...
Рейтинг: 0 / 0
17.05.2020, 10:50
    #39958528
andrey odegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
БД - Oracle 12c EE, non-CDB.
Автоматизация - Appium Windows Driver.
Прошу прощения за то,
что не сообщил это сразу.
...
Рейтинг: 0 / 0
17.05.2020, 10:57
    #39958530
andrey odegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
SY, это сейчас и используется.
Но тестировщики не хотят по очереди.
Им хочется, что бы каждому по своей "песочнице".
...
Рейтинг: 0 / 0
17.05.2020, 10:58
    #39958531
andrey odegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
Надфиль, спасибо, изучим/попробуем.
...
Рейтинг: 0 / 0
17.05.2020, 11:39
    #39958542
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
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.
В принципе даже работает.
...
Рейтинг: 0 / 0
17.05.2020, 13:46
    #39958578
andrey odegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
Vadim Lejnin, спасибо.
Вариант более чем интересный :)
Под ОС RHEL 7.4 взлетит?
...
Рейтинг: 0 / 0
17.05.2020, 13:50
    #39958580
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
andrey odegovИм хочется, что бы каждому по своей "песочнице".

Ну так раздайте каждому по виртуалке и пусть делают её снапшот перед смелыми экспериментами.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
17.05.2020, 14:15
    #39958593
Maksim Ivanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
авторЕсть ли способ позволить тестировщикам портить эту БД без предварительной
необходимости резервировать ее по 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 - файлы уже есть. открыть эту пдб

это, как бы, не готовый рецепт, конечно.
смотреть надо - насколько подходит/не подходит к вашим условиям/требованиям.
Например если у вас разработчики нагрузочным тестированием занимаются, не функциональным: ну, вот это вот всё что я тут выше живописал - вряд ли.

В тему:
YouTube Video
...
Рейтинг: 0 / 0
17.05.2020, 14:37
    #39958607
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
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 версии, начинали, но пока тормознули.
...
Рейтинг: 0 / 0
17.05.2020, 16:32
    #39958627
andrey odegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
Vadim Lejnin, dNFS и clonedb.
...
Рейтинг: 0 / 0
17.05.2020, 16:38
    #39958629
andrey odegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
Maksim Ivanov, да у Вас готовое руководство к действию, за что большое спасибо :)
Но, суровые админы ОС не допустят экспериментов с файловыми
системами хоста - поэтому пока будем рыть в сторону dnfs.
...
Рейтинг: 0 / 0
17.05.2020, 17:16
    #39958642
Maksim Ivanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
авторНо, суровые админы ОС не допустят экспериментов с файловыми
системами хоста
Так а это, тут какой хост то имеется в виду? Есть хост с продовой базой: ну, тогда серверисты - верно будут проявлять суровость, скорее всего.
Отдельную площадку надо строить, для лепления тестовых баз, по любой технологии, что CloneDB, что standby+zfs рельсы и там "вот это вот всё".

По вашей постановке вопроса - явно что не одной группе разрабтки песочница нужна и не одну песочницу надо.
Обговаривайте с лидами групп разработки, с руководством разработки/поддержки инфосисем, вашего предприятия вопрос строительства тестовой среды.
При правильной препарации-подачи расклада: они если чухнут что светит технология по которой тестовые бд, им, будут провайдится проще, быстрее - разработка встанет на вашу сторону.
Серверисты, если они чухнут что вы, вашей технологией, сможете лепить тестовые бд не создавая им работы много (ну, можно например сравнить с вариантом лепления N-виртуалок) - тоже могут встать на вашу строну.
Ну и вам тоже: все эти варианты, что CloneDB, что standby+zfs рельсы - они вполне себе 1) скриптуются 2) подводятся под какой нибудь дженкинс, чтобы вообще сдать основные операции ведения тестовых бд на самих разработчиков.
Пусть сами, когда надо, обновляют, пересоздают, откатывают свои тестовые бд, по кнопочке в www ui

Как обычно всё: таксть политесу и дипломатии на 80% дба-работы на 20%, ёмаё.
...
Рейтинг: 0 / 0
17.05.2020, 18:50
    #39958660
Rb-Sr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
Vadim Lejnin
Овес нынче дорог
Multitenant опция требует доплаты 50% стоимости EE

Oracle Global Prise list
.
Была ведь информация 3 pdb per cdb for free?
...
Рейтинг: 0 / 0
17.05.2020, 19:33
    #39958671
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
Rb-Sr
Vadim LejninОвес нынче дорог
Multitenant опция требует доплаты 50% стоимости EE

Oracle Global Prise list
.

Была ведь информация 3 pdb per cdb for free?

1) Данная информация относится к 19 версии, для 12 версии 1 pdb
2) У ТС три разработчика?
...
Рейтинг: 0 / 0
17.05.2020, 19:43
    #39958675
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
andrey odegov
Vadim Lejnin, dNFS и clonedb.


Взлетит, проверял
нужна поддержка spare file файловой системой.

Но я бы смотрел в сторону zfs
для разработчиков, вполне нормальный выбор

Можно также использовать
ocfs2 или btrfs
Save disk space on Linux by cloning files on Btrfs and OCFS2
...
Рейтинг: 0 / 0
17.05.2020, 20:25
    #39958682
andrey odegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
Vadim Lejnin
Rb-Sr
пропущено...

Была ведь информация 3 pdb per cdb for free?


1) Данная информация относится к 19 версии, для 12 версии 1 pdb
2) У ТС три разработчика?
То, что желающих м.б. больше трех, однозначно верно :)
...
Рейтинг: 0 / 0
17.05.2020, 20:30
    #39958684
andrey odegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
Дабы не скатиться до уровня "курилки", предлагаю "заморозить" тему.
Если возникнут вопросы, то позвольте реанимировать тему, т.к. ваши
советы просто откровение для меня :)
Так же обещаю отписаться по результатам реализации, если это будет
интересно. Всем огромное спасибо.
...
Рейтинг: 0 / 0
18.05.2020, 12:09
    #39958851
Rb-Sr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
andrey odegov
Дабы не скатиться до уровня "курилки", предлагаю "заморозить" тему.
Если возникнут вопросы, то позвольте реанимировать тему, т.к. ваши
советы просто откровение для меня :)
Так же обещаю отписаться по результатам реализации, если это будет
интересно. Всем огромное спасибо.

не забудьте пролицензиролвать новую площадку(и) для разработчиков
...
Рейтинг: 0 / 0
18.05.2020, 12:59
    #39958876
andrey odegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
Rb-Sr, спасибо за ценное напоминание.
...
Рейтинг: 0 / 0
21.05.2020, 18:16
    #39960409
Oleg M.Ivanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
andrey odegov,

Вам тут уже подсказывали смотреть в сторону ZFS. Эта система, пожалуй, лучше всего вашим хотелкам подходит. Там делается снапшот дисковой шары, а с него можно наделать сколько угодно самостоятельных клонов, которые будут жить своей жизнью. Причем, каждый клон будет занимать значительно меньше места, чем исходные файлы БД. Место занимают только изменения. По опыту, к примеру, база 150 Тб имеет с десяток клонов и каждый клон даже при довольно интенсивном издевательстве разработчиков занимает 10...100 Гб, редко, когда до терабайтов доходит, но это при очень длительном использовании клона. Кроме всего прочего, есть сжатие. Мы у себя считали, получается довольно четкий коэффициент сжатия 6,1.
Сама БД на шаре это каскадный стендбай, Снапшоты с него делаются несколько раз в сутки по расписанию.
По времени создать клон занимает считанные секунды.
В общем, актуализация разработческих клонов не занимает много места и каждый клон создается очень быстро, плюс, есть возможность отката и самих клонов, т.к. и у клонов можно снапшоты делать.
...
Рейтинг: 0 / 0
26.05.2020, 22:37
    #39962546
Maksim Ivanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления? / 25 сообщений из 25, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]