Вот такая ситуация:
У меня есть две базы данных Oracle 10g (с одинаковыми таблицами и т. Д.), Которые нельзя подключить по сети. Через определенные промежутки времени (скажем, один раз в день) мне нужно иметь возможность обновлять данные в базе данных B, чтобы они соответствовали этой базе данных A. База данных B предназначена только для чтения, поэтому в ней не должно быть никаких изменений данных.
Поскольку между ними нет сетевого соединения, мне нужно создать какой-то файл из одного, который можно было бы перенести в другой и легко загрузить. Я бы хотел, чтобы как экспорт этого файла, так и его импорт в другую базу данных выполнялись как можно быстрее ... в идеале он должен содержать только минимально необходимую информацию о том, что именно изменилось с момента последней синхронизации.
Очевидно, я мог полностью экспортировать одну базу данных и заменить другую ее данными. Однако на это потребуется неприемлемое количество времени. Я также нашел кое-что об инкрементном экспорте, но похоже, что он устарел, а также экспортирует все данные в любой измененной таблице. Это было бы проблематично, поскольку одна конкретная таблица (которая, скорее всего, изменится) содержит большие BLOB-объекты и потребует гораздо больше времени для полного экспорта и импорта.
Я не администратор баз данных, поэтому у меня мало опыта в этой области. Есть ли что-нибудь подходящее для этого?
Самое простое решение - подключить их через несетевую сеть. Один из способов - подключить их к одному и тому же внутреннему хранилищу (например, SAN / NAS), что позволяет вам использовать один и тот же том или реплицировать один том на другой.
Кроме того, это действительно зависит от размера вашей БД и / или размера журналов транзакций, если вы собираетесь прибегнуть к sneakernet или RFC1149 для синхронизации ваших БД.
Я бы действительно усомнился в требовании «отсутствия сети». Мне трудно поверить, что создание VPN или другого подобного туннеля не является жизнеспособным вариантом. Даже в соответствии с требованиями PCI и SOX существуют возможности сетевого подключения для резервного копирования и конструкции кластера высокой доступности.
Вы могли бы рассмотреть логическая резервная база данных в качестве копии, доступной только для чтения, и скомпоновать процесс передачи архивных журналов вручную, который копирует и регистрирует все файлы журналов каждый интервал синхронизации с вашего носителя для передачи. Это имеет то преимущество, что вы используете только файлы, естественно созданные Oracle, и это довольно быстрый процесс. Это также не вызывает простоев в логическом режиме ожидания.
В документации Data Guard я нашел удобный раздел, который может оказаться полезным - это раздел о устранение пробелов в архивном журнале.
РЕДАКТИРОВАТЬ: Я только что заметил, что вы не администратор базы данных. Для этого вам понадобится помощь компетентного администратора базы данных, не говоря уже о необходимых привилегиях. Однако наиболее компетентные администраторы баз данных сочтут это развлечением ;-)