Процесс переноса можно представить как три больших шага. Каждый из шагов для удобства разбит на дополнительные шаги, чтобы упростить восприятие процесса переноса данных.
1. Анализ и планирование
Прежде чем что-то переносить, нужно полностью изучить исходную базу данных на Oracle, чтобы выявить все особенности и потенциальные проблемы. Этот этап очень важен: его детальность напрямую влияет на легкость всей миграции.
- Сканирование и инвентаризация
На данном этапе описывается структура всех таблиц и связей внутри базы данных. Скрупулёзно переписываются все сложные элементы бизнес-логики: триггеры, хранимые процедуры и функции на встроенном языке Oracle (PL/SQL) - Оценка совместимости
Проверяется возможность переноса элементов в среду «Персей», который создан на основе PostgreSQL. На первый взгляд одинаковые встроенные функции в разных средах ведут себя по разному. Поиск подобных несоответствий позволяет выявить объём работы по адаптации приложения - Выбор стратегии переноса данных (CDC)
Выясняется, возможна ли миграция с остановкой системы или требуется «онлайн-миграция» без единого простоя для пользователей.
2. Адаптация и перенос данных
На этом этапе самая сложная и ответственная работа. Ключевая задача — "перевести" код и данные с языка Oracle (PL/SQL) на язык «Персей» (PostgreSQL).
- Автоматизация
Для ускорения работы над переносом данных обычно используется инструмент с открытым кодом ora2pg, который автоматически конвертирует структуру базы данных (схемы, таблицы), типы данных и простые объекты. - Ручная доработка кода
После автоматической подготовки простых данных наступает этап работы над сложными участками кода, будь то функции работающие с датами или специальные конструкции Oracle PL/SQL. есть несколько вариантов разрешения данной проблемы. Можно адаптировать код Oracle Под стандарты СУБД «Персей», а можно использовать специальное расширение orafce, которое добавляет в PostgreSQL функции, совместимые с Oracle. Такой вариант позволяет переписывать минимум кода, но иногда требует уточнений в синтаксисе. Перед выбором подходящего для вас варианта проконсультируйтесь со специалистом и уточните возможные риски обоих подходов. - Сверка результата
После преобразований обязательно выполняется сверка контрольных сумм, чтобы убедиться в целостности и полной сохранности перенесенных данных.
3. Тестирование и запуск
Финальная стадия, на которой проверяется вся система в бою, и происходит окончательный переход.
- Пилотное внедрение
Осуществляется запуск нового движка в ограниченном, тестовом режиме, или на полную мощность в среде, которая дублирует боевую. Делается это для того, чтобы выявить скрытые ошибки взаимодействия между приложениями и базой данных. - Внедрение
Когда все проверено, происходит короткое переключение с Oracle на «Персей». - Обучение работе с базой
Проведение обучения для персонала заказчика.
Поддержка новой базы
После внедрения новой базы имеется возможность также получить услуги по поддержке этой самой базы для быстрого решения вопросов, которые могут возникнуть сразу после перехода.

