- Сначала запишите изменения в обе базы данных и читайте только из Oracle, пока Postgres не получит все предыдущие данные из Oracle.
- Когда миграция данных завершится, начните чтение из Postgres и Oracle и сравните транзакции. Мы по-прежнему используем Oracle, но проверяем транзакции Postgres и регистрируем ошибки/несоответствия с Oracle.
- Когда Postgres является доверенным, то есть не делает ошибок, замените чтение из Oracle на Postgres, но продолжайте записывать изменения в обе базы данных. Если что-то не так с Postgres, мы можем без простоя переключиться обратно на Oracle.
- Когда мы, наконец, доверяем Postgres и его работе без ошибок, мы можем отказаться от Oracle и продолжить только с Postgres.
А как насчет потери производительности при копировании данных из Oracle в Postgres? Я знаком с ora2pg, но до сих пор не уверен в этом.
До сих пор я пробовал открыть два соединения как с Oracle, так и с Postgres, у меня есть таймер записи Postgres для N мс внутри оператора try-catch. Я обеспокоен тем, что это повлияет на нормальную производительность приложения. То же самое касается записи изменений в обе базы данных.
Подробнее здесь: https://stackoverflow.com/questions/797 ... -migration
Мобильная версия