Проблема переноса данных в живую среду

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

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

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

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

1 ответ

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

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

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

Другие вопросы по тегам