powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сравнение двух схем и получение скрипта для синхронизации
13 сообщений из 13, страница 1 из 1
Сравнение двух схем и получение скрипта для синхронизации
    #39451721
menja_zovut_deniska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
11g+
Может быть кто-то встречал инструмент, позволяющий сранивать 2 схемы и выдавать разницу, а также скрипт, позволяющий внести изменения в одну из них, чтобы догнать ее до другой.
Под инструментом я имею в виду готовый(полуготовый) скрипт/ы, позволяющий в командной строке с прараметрами что-то вызвать и получить файлы с данными или данные описывающие разницу между схемами и скрипт для update.
Т.е. сделать все то же самое, что позволяют сделать в интерфейсе pl/sql developer, sql developer, dbForge Schema Compare for Oracle и т.п. только не через интерфейс а через скрипт или какой-то api.
Хотелось бы видеть разницу между всеми объектами БД(таблицы (включая комментарии), вьюхи, синонимы, последовательности, программные модули, привелегии(возможно) и т.п.).
Идеально конечно было бы видеть и разницу в самих данных.

Есть скрипт от Jeff Hunter
http://www.idevelopment.info/data/Oracle/DBA_scripts/Database_Administration/dba_compare_schemas.sql
но он не сравнивает комментарии и к нему еще нужен скрипт для update

Есть оракловая функция DBMS_METADATA_DIFF.COMPARE_ALTER, позволяющая создавать скрипт для update, но она работает далеко не для всех типов объектов.
Есть интересный пакет DBMS_COMPARISON, но как я понял он не создает скрипт для синхронизации схем, а сам синхронизирует по запросу? также необходимо явно прописывать названия сравниваемых объектов, и для сравнения данных таблицы должны иметь первичные ключи

Может есть какие интересные freeware-инструменты?
...
Рейтинг: 0 / 0
Сравнение двух схем и получение скрипта для синхронизации
    #39451736
vo_rtu_moem_iriska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
menja_zovut_deniska,

как отличить drop+create от replace/rename? А по сему, универсальный подход - все дропнуть и... подумав больше не создавать.
...
Рейтинг: 0 / 0
Сравнение двух схем и получение скрипта для синхронизации
    #39451754
AnSi_Sr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не знаю, как в plsql developer
в toad запуск compare schemas можно организовать из командной строки с помощью automation designer
...
Рейтинг: 0 / 0
Сравнение двух схем и получение скрипта для синхронизации
    #39451792
Вадиман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnSi_Srне знаю, как в plsql developer
в toad запуск compare schemas можно организовать из командной строки с помощью automation designer
Отличный freeware-инструмент с лицензией порядка $1500 на одного юзера в полном фарше.
...
Рейтинг: 0 / 0
Сравнение двух схем и получение скрипта для синхронизации
    #39451860
deniska80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ириска, как-то платные продукты делают нормальные дельты для синхронизации. Естественно перед запуском скрипта смотреть и проверять его. А учитывая, что должен быть еще отчет, то можно и увидеть, где rename превращается в drop/create.
...
Рейтинг: 0 / 0
Сравнение двух схем и получение скрипта для синхронизации
    #39451896
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
deniska80перед запуском скрипта смотреть и проверять егоВ чем тогда смысл "не через интерфейс а через скрипт"?
...
Рейтинг: 0 / 0
Сравнение двух схем и получение скрипта для синхронизации
    #39451903
deniska80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-,

Хочется попробовать организовать механизм хранения и ведения версий в гите, чтобы в любой момент можно было получить скрипты для создания и update различных версий БД.
...
Рейтинг: 0 / 0
Сравнение двух схем и получение скрипта для синхронизации
    #39451933
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
deniska80,

напомнило эту тему
...
Рейтинг: 0 / 0
Сравнение двух схем и получение скрипта для синхронизации
    #39451985
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
deniska80-2-,

Хочется попробовать организовать механизм хранения и ведения версий в гите, чтобы в любой момент можно было получить скрипты для создания и update различных версий БД.

Создать систему наката версий не так просто
Когда я работал на большом проекте, то было сделано следующее:

1) Создана система автоматического наката патчей + два контура автоматического тестирования
2) Требования к патчам строго регламентировались (оформление, реентерабельность, CVS, jira )
3) Раз в неделю, сервер разработки перезаливался с рабочей системы, все что не оформлено правильным патчем, улетало в трубу. Разработчику профукавшим свои наработки - прописывалась административная клизма.

4) патчи на промышленные системы накатывались только системой автоматического патчинга

Были и ручные патчи, с хорошим документированием процесса.
документация и накат таких патчей отрабатывался на студентах и девочках-тестировщицах, чтобы собрать максимальное количество граблей перед передачей в регионы.
...
Рейтинг: 0 / 0
Сравнение двух схем и получение скрипта для синхронизации
    #39452354
AlexGubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
menja_zovut_deniska,

Я для сравнения схем использую Oracle SQL Developer (пункт меню Tools\Database Diff...)
Так же, он может генерить скрипты после сравнения (кнопка Generate Script)

По поводу скриптов, насколько они адекватно генерятся, я не проверял, один раз сгенерировал скрипты из любопытства.
Так как мы все скрипты пишим руками.
...
Рейтинг: 0 / 0
Сравнение двух схем и получение скрипта для синхронизации
    #39452365
AlexGubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexGubinmenja_zovut_deniska,

Я для сравнения схем.............

упсь, извините, я делал это все через интерфейс.
...
Рейтинг: 0 / 0
Сравнение двух схем и получение скрипта для синхронизации
    #39452576
Фотография Vladimir Filin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
menja_zovut_deniska,
попробовать - дело хорошее. Но, даже при самых строгих правилах и самоорганизованных разработчиках ( ха ха) всегда появится хитрый косяк, который автомат пропишет в скрипт не так. По моему опыту, автоматическое сравнение даёт максимум 80% готовых скриптов для патча. Остальное руками с разборкой вместе с девелопером. Кроме того, сравнить две схемы - это не всё. Если у вас несколько схем и они взаимодействуют между собой, сравнение становится ещё веселее. А если добавляем сюда Модель БД (для командной работы и понимания чо-как которая) то сам понимаешь - уже три точки для сравнения.
Сам сравниваю Toad-ом, из результатов сравнения использую сам факт расхождения по которому либо сам исправляю скрипты, либо девелоперу косяк отдаю на исправление. + Модель БД.
...
Рейтинг: 0 / 0
Сравнение двух схем и получение скрипта для синхронизации
    #39452581
Фотография Vladimir Filin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
menja_zovut_deniska,
...реальный пример: в моём проекте 14 схем данных, все взаимосвязаны. Используется модель БД. Дистрибутив в SVN.
Так получилось, что исходный дистрибутив всей системы не проверялся почти год на инсталлируемость и вся команда только коммитила изменения. На исправление расхождений ушло уже 2 недели. Даже на SQL.RU не ходил :(
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сравнение двух схем и получение скрипта для синхронизации
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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