Назад | Перейти на главную страницу

Лучшие практики для синхронизации данных SQL Server с Oracle

У меня есть несколько таблиц в базе данных SQL Server, которые я хочу сделать доступными для базы данных Oracle.

Имея в виду, что целостность данных является высшим приоритетом, каковы некоторые передовые практики для обеспечения синхронизации данных?

Это то, для чего обычно используется DTS / SSIS. Однако одно важное предупреждение заключается в том, что готовые компоненты для загрузки в базу данных Oracle неприемлемо медленны при количестве строк более 1000 (меньше, если вам нужна действительно быстрая загрузка). Если бы я делал это регулярно (например, каждый час или около того), я бы, вероятно, использовал SSIS для создания пакета, но моя загрузка в Oracle была бы через SQL * Loader (это тонна Быстрее). Что касается части целостности данных, использовать SSIS для проверки данных не так уж сложно, если у вас относительно простые отношения внешнего ключа. Если у вас чрезвычайно сложные ограничения целостности, вам будет лучше создать хранимую процедуру в целевой БД, которую вы вызываете с данными SQL Server после ее загрузки в промежуточную таблицу (это подход, который использует Oracle EBS, поэтому он почти должно быть лучшей практикой по определению).

У нас похожая ситуация, и мы используем программу Golden Gate.

http://www.goldengate.com

Он действительно надежен и - сохраняет целостность транзакций - может выдержать простои сервера с любой стороны.

Это также низкие накладные расходы, так как он отслеживает файлы журнала и восстанавливает транзакции, а не выполняет запросы к исходной базе данных.