Миграция автоматизированной банковской системы с Oracle на PostgreSQL
Исходный запрос на CaseLink
Кейс связан с запросом заказчика: RFP → внедрение: миграция ядра АБС с Oracle на PostgreSQL
Импортозамещение
Oracle Database → PostgreSQL + PostgresPro
Задача
Крупный коммерческий банк из ТОП-30 принял решение о миграции ядра АБС с Oracle Database на PostgreSQL в рамках стратегии импортозамещения. Система обслуживала 2.5 млн клиентов, включая расчётные, кредитные и депозитные модули.
Решение
Разработана поэтапная стратегия миграции с параллельной работой обеих СУБД в течение 6 месяцев. Проведена адаптация 1200+ хранимых процедур, оптимизация запросов под PostgreSQL. Реализована система автоматического тестирования идентичности результатов на обеих платформах.
Результаты
Полная миграция ядра АБС завершена за 11 месяцев. Экономия на лицензиях — 45 млн руб./год. Производительность критичных операций сохранена на уровне ±5%. Ноль простоев при переключении.
Масштаб и сроки
2.5 млн клиентов, 1200+ хранимых процедур
11 месяцев
Технологии
Оценка заказчика
Экспертные инсайты
Участники проекта делятся уроками, техническими деталями и выводами
Почему мы не использовали ora2pg для хранимых процедур
ora2pg отлично справляется с DDL и простыми запросами, но для сложных PL/SQL-пакетов с коллекциями, bulk collect и FORALL мы писали конвертер самостоятельно. Автоматическая конверсия покрыла ~60% кода, остальное — ручная работа. Главный урок: всегда закладывайте 40% бюджета на ручную доработку хранимых процедур.
Алексей Морозов
Архитектор СУБД
Параллельный run — единственный безопасный путь для банка
Мы настаивали на 6-месячном параллельном run обеих СУБД, хотя заказчик хотел сократить до 3 месяцев. Это решение спасло проект: на 4-м месяце обнаружили расхождение в расчёте процентов по кредитам из-за разницы в обработке NULL в Oracle и PostgreSQL. Без параллельного run это ушло бы в продакшен.
Елена Ковалёва
Руководитель проекта
Команда проекта
Алексей Морозов
Архитектор СУБД
Елена Ковалёва
Руководитель проекта