Репликация / синхронизация Oracle в трех экземплярах - PullRequest
0 голосов
/ 16 апреля 2010

У меня есть 3 экземпляра базы данных Oracle с теми же данными и схемой, которые я хочу синхронизировать, экземпляры географически разделены большими расстояниями и будут выполнять чтение и запись как локально, так и из глобальной сети. Есть ли что-то встроенное в Oracle для этого? Синхронизацию не нужно выполнять в режиме реального времени, это может быть процесс конца дня, который проверяет их синхронизацию и генерирует отчет о расхождениях и т. Д. Кто-нибудь имел дело с такой проблемой?

Ответы [ 2 ]

0 голосов
/ 16 апреля 2010

Что касается встроенной функциональности Oracle, вы будете использовать Streams (при условии, что вы используете 10 / 11g).

см. Документ

Несколько трудоемко настроить, но полнофункционально.

[Изменить в ответ на один из ваших комментариев]

Я видел, что репликация работала с тремя базами данных с разрешением конфликтов, установленным на первую временную отметку "побед" в случае конфликтов с ПК. Если большинство новых / измененных записей происходят на одном из ваших сайтов и вам просто нужно перенести их на два других, у вас не должно возникнуть проблем. Если у вас есть значительный DML на каждом сайте, то это помогает иметь PK, который является суррогатным ключом, поддерживаемым последовательностью Oracle, установленной с шагом 3 и начинающейся с 1 на первом сайте, 2 на втором и т. Д., Так что каждый сайт генерирует не конфликтующие ключи для вставок. Я полагаю, что если у вас высокий уровень транзакций на каждом сайте, вы в какой-то момент достигнете некоторых ограничений инфраструктуры Streams.

0 голосов
/ 16 апреля 2010

Я не использовал это лично, но я считаю, что функция Oracle Data Replication удовлетворит эту потребность.

Репликация данных Oracle и интеграция

...