Сравните схему базы данных SQL Server со схемой базы данных Oracle

в моей среде разработки мы поддерживаем приложение как на сервере MSSQL, так и на Oracle. Схема базы данных обеих этих СУБД одинакова.

Во время разработки мы обнаружили, что разработчик ошибся и забыл изменить базу данных Oracle за последний год. поэтому сценарий oracle сильно отстает в плане схемы от сценария схемы SQL Server.

теперь вопрос в том, как я могу сравнить две системы СУБД, чтобы найти разницу и обновить скрипт оракула.


person Atul Bansal    schedule 08.04.2015    source источник
comment
Сравните сценарии из системы контроля версий исходного кода.   -  person Lalit Kumar B    schedule 08.04.2015
comment
@LalitKumarB сценарий находится в неправильном порядке для обеих баз данных. означает, что некоторые объекты находятся наверху в одном скрипте, а те же объекты находятся в нижней части скрипта. поэтому просто сравнение текста невозможно   -  person Atul Bansal    schedule 08.04.2015
comment
Я не говорил, что вам нужно сравнивать тексты. В исходном элементе управления вы можете легко узнать, когда и какие изменения были внесены в схему. Вам необходимо отслеживать все изменения и создать один скрипт, в котором будет список всех пропущенных изменений.   -  person Lalit Kumar B    schedule 08.04.2015


Ответы (1)


Если нет журнала отслеживания, из которого можно найти и воспроизвести все изменения, примененные к SQL Server с момента первого обнаружения несоответствия с версией Oracle, или эти изменения были применены, но только частично, вам действительно нужно сравнить объекты, представленные в обеих базах данных. < br> В этом случае установите связь между базами данных на любой стороне и используйте представления системного словаря для сравнения структур таблиц и других объектов, чтобы найти различия и, возможно, сгенерировать сценарий для объединения схемы Oracle.

Если вы хотите действовать со стороны MS SQL Server:

  1. Установите и настройте Oracle Instant Client
  2. Установить Oracle ODAC
  3. Следуйте рекомендациям Microsoft (64-разрядная версия )
  4. Подключиться как любой пользователь с ролью dba (или использовать ту же схему Oracle, где находится объект) к Oracle из базы данных MS SQL

Если вы хотите действовать со стороны Oracle Server:

  1. Установите и настройте Oracle Database Gateway для SQL Server .

  2. Создайте ссылку базы данных на MS SQL Server.

После успешной настройки вы можете присоединиться к представлениям информационной схемы на стороне SQL Server с помощью Просмотр словаря данных на стороне Oracle, чтобы найти различия.

Конечно, на этом пути есть много проблем, таких как разные типы данных, но дает возможность автоматизировать хотя бы часть работы.

person ThinkJet    schedule 08.04.2015