Tuesday June 09 2015 00:41, Oleg Levkin wrote to Andrew Kant: AK>>>> Вот и изучаю - кнопка "восстановить эталонную базу" у меня уже AK>>>> есть, полтора часа и база готова, но хочется быстрее и на AK>>>> автомате, чтоб каждый коммит в репозитарий (pull request) сам AK>>>> прогнал тест и сказал, что данные изменения отвечают неким AK>>>> требованиям. DC>>> Скажите, гражданский... А за каким овощем вам для проверки DC>>> реструктуризации нужны все over 5 лярдов записей? Hа 100 штуках не DC>>> проверить? AK>> А ты уверен, что твой гипотетический алгоритм реструктуризации, AK>> прекрасно работающий на 100 штуках, не накроется на 101-ой? OL> Правильно спроектированная модель данных не зависит от количества OL> записей: ей безразлично сколько их 100 или 1005001000000, поскольку при OL> грамотном проектировании БД вероятность потерь данных стремится к нулю. OL> (в сторону) на нормального "оракловода" денег что ли не хватило? Обожаю рассуждения теоретиков как было-бы сделать правильно (да и сам этим грешу), но мы живем в мире, где не всё идеально, и наши задачи намного более приземленные - заставить хоть как-то работать то, что уже есть, причем, ограниченными средствами.
AK>> Типичная ошибка разработчиков - проверять всё в стерильных AK>> лабораторных условиях и думать, что в реальной жизни всё будет AK>> также. OL> Отлаживать проекты на рабочих базах - это остро, по-заграничному. OL> Тут уже было, повторюсь, что мешает завести испытательную базу и пусть OL> разработчики "терзают" её вдоль и поперёк? Так речь как раз и идет про _испытательную_ базу. Hапомню - subj звучит так: "среда для многократного ТЕСТИРОВАHИЯ". Hе важно, 100 на ней записей или 100 миллионов, ты прогнал тест - и среда испорчена, повторный тест уже не "чистый эксперимент", вот и надо автоматизировать процесс приведения базы к исходному состоянию за приемлемое время.
OL> Примеры скриптов с использованием flashback: OL> http://www.oracle-wiki.net/startcommandsflashback OL> Допилить их до твоей задачи, я думаю не составит труда. Объясню еще раз - у меня oracle std1, flashback требует oracle enterprise, условия требуют соблюдения лицензионной политики, как ты думаешь, сколько будет стоить апгрейд с std1 до enterprise для двухпроцессорного сервака, процы которого имеют по 8-core (напомню, для платформы x86 множитель 1/2, получаем 8 "ядер" примерно по 40000$ каждое)? Посчитал? Только не надо мне объяснять где можно сэкономить на named-userах вместо cpu, решение с оракловыми флэшбэками не проходит по условию задачи.