Проблема переноса данных в живую среду - PullRequest
0 голосов
/ 11 января 2019

Я планирую перенести данные из базы данных Oracle в базу данных приложения CMDB.

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

В настоящее время у меня проблемы с тем, что я не могу закрыть базу данных oracle, пока мы выполняем миграцию, значит, база данных oracle всегда будет вставлять данные, пока я выполняю миграцию через инструмент ETL. Поэтому, даже если миграция завершится, данные снова будут заполнены в базе данных Oracle.

Как я могу обойти эту ситуацию? Без простоя? или это никогда не возможно?

1 Ответ

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

Чтобы минимизировать время простоя: предполагая, что у всех таблиц есть первичный ключ (который они должны иметь), запишите значение первичного ключа каждой таблицы в точке миграции, перенесите большую часть данных до записанных значений ключа, затем выполните второй шаг с небольшим отключением, чтобы забрать любые дальнейшие изменения.

Это может быть еще сложнее, если у вас создается много новых внешних ключей. Я бы записал все значения первичного ключа в сериализуемую транзакцию, чтобы обеспечить согласованное представление всех данных.

Ваш вопрос довольно широкий, поэтому этот ответ на высоком уровне. Предлагаем добавить более подробную информацию, если вы хотите более подробный ответ.

...