Синхронизация базы данных Oracle11g - PullRequest
1 голос
/ 29 ноября 2011

У меня есть приложение WPF с серверной частью как Oracle11gR2.Нам нужно, чтобы наше приложение работало как в режиме онлайн, так и в автономном режиме (отключено).В качестве клиентской базы данных мы используем стандартную версию Oracle (с одним экземпляром).Я использую числа секвенции для столбцов первичного ключа.Есть ли в любом случае синхронизировать мою клиентскую и серверную базу данных без каких-либо проблем в столбцах порядковых номеровОбратите внимание, что мы ограничим создание базовых (основных) данных, которые будут создаваться только на сервере.

1 Ответ

0 голосов
/ 29 ноября 2011

Здесь есть несколько подходов.

1- Запишите процесс синхронизации, чтобы каждый раз перестраивать серверные таблицы (на клиенте) с помощью SELECT INTO. После завершения переименуйте текущую таблицу в временную таблицу и переименуйте вновь созданную таблицу с правильным именем. Процесс синхронизации должен УДАЛИТЬ временную таблицу как один из ее первых шагов. Наконец, воссоздайте индексы, и вы должны быть в курсе.

2 - Создайте резервную копию базы данных на стороне сервера, напишите сценарий оболочки, чтобы скопировать его и восстановить на клиенте.

Каждая из этих опций сохранит ваши порядковые номера. Какой из них вы выберете, зависит от ваших навыков. Если вы больше являетесь разработчиком, вы можете сделать работу № 1. Если у вас есть навыки работы с Oracle DBA, вы сможете заставить # 2 работать.

Так как вы на 11g, возможно, есть более чистый способ сделать это с помощью Data Pump.

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