Обновите две идентичные схемы базы данных одновременно - PullRequest
1 голос
/ 11 января 2012

У меня есть база данных Oracle с двумя идентичными схемами.Одна, по сути, является «включенной» схемой, а другая - «выключенной».Мы обновляем данные в отключенной схеме и затем переключаем схемы за псевдонимом, который используют наши производственные серверы.Не очень хорошее решение, но это то, с чем мне дали работать.

Моя проблема в том, что есть отдельное приложение, которое теперь будет передавать данные в базу данных (также переданные мне), которое в настоящее времятолько обновление псевдонима, что означает, что он обновляет только схему «on» в любой момент времени.Это означает, что когда схемы переключаются, все данные из этого отдельного приложения исчезают из производства (схема, в которой оно находится, теперь является «отключенной» схемой).

Это приложение использует Hibernate 3.3.2 для обновления базы данных.В миксе также есть Spring 3.0.6, но не для обновлений базы данных.Наконец, мы работаем на Java 1.6.

Может кто-нибудь подсказать мне направление обновления схем «on» и «off» одновременно, что не требует перезаписи всего слоя DAO с использованием Spring JDBC для загрузки двухотдельные пулы подключения?Я не смог найти что-нибудь о том, чтобы стать спящим, чтобы сделать это.Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 11 января 2012

HA-JDBC - это реплицирующий драйвер JDBC, который мы исследовали в течение короткого времени.Он будет автоматически реплицировать все вставки и обновления и распространять все выбранные.Существуют и другие решения для главного и подчиненного баз данных.

С другой стороны, я бы не рекомендовал делать это в течение 4-8 часов.Лучше заблокируйте базу данных раньше, обновите одну базу данных, а затем сделайте резервную копию-восстановите копию, а затем снова разблокируйте.

0 голосов
/ 11 января 2012

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

Честно говоря, это может показаться, что вам, возможно, придется купить ETL инструмент.Даже если вы не можете заставить его обновить схему «включено» из схемы «выключено» (достаточно быстро, чтобы быть практичным), вы вероятно сможете использовать ее для синхронизации двух (зеркало меняется с «вкл» на «выкл»).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...