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

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

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

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

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

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

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

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

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

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

Oracle Global Prise list
.
Была ведь информация 3 pdb per cdb for free?
...
Рейтинг: 0 / 0
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
    #39958671
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
    #39958675
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Как портить тестовую БД в 500+ ГБт без многочасового резервирования/восстановления?
    #39958682
andrey odegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejnin
Rb-Sr
пропущено...

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


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

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

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


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