Уход с Oracle, MS SQL и Windows Server на открытый и отечественный стек

Переносим базы вместе с логикой и серверы вместе с каталогом пользователей. Старая система остаётся рабочей точкой отката до конца параллельного периода: переключаемся по регламенту, а не в надежде.

Обследование стека и план — от 250 000 ₽, 2–3 неделиТиповая база — 1–3 месяцаРаботаем по NDA

На чём держится

Четыре условия, на которых мы это делаем

Логотипов и «экономии 75% на лицензиях в первый год» здесь не будет: экономия зависит от вашего договора с вендором, а не от нашей работы.

Старая система живёт до конца

Параллельный период — не опция, а условие работы. Пока новая база не отработала оговорённый срок без замечаний, старая остаётся рабочей точкой отката.

Оценка до договора на перенос

Две-три недели инвентаризации, и вы получаете отчёт о совместимости: что переносится автоматически, что придётся переписать и сколько это займёт.

Замер до, а не после

Профиль запросов снимаем на работающей системе. Иначе после переезда нечем доказать, что не стало медленнее, — а именно это спросят первым.

Скажем, если переносить рано

Если половина логики в процедурах, которые никто не читал десять лет, честнее сначала разобраться с ними, а не переносить вслепую.

Зачем это нужно

Почему откладывать становится дороже

Лицензии продлить нельзя

Поддержка прекращена, обновления недоступны, а срок регулятора приближается независимо от вашей готовности.

Никто не знает, что в базе

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

Приложения ходят в базу напрямую

Список тех, кто подключается, неизвестен. Любое изменение схемы может сломать то, о чём никто не помнит.

Предыдущая попытка остановилась

Дошли до первой несовместимости типов или синтаксиса и отложили. С тех пор ситуация не улучшилась.

Непонятно, выдержит ли нагрузку

Планировщик PostgreSQL работает иначе, и запросы, которые летали, могут замедлиться. Без замера это неизвестно.

Windows Server и домен

Дело не только в базе: серверы приложений, файловые ресурсы и каталог пользователей тоже надо куда-то переносить.

Маршруты

Откуда и куда переносим

Третья колонка важнее первых двух: она показывает, где заканчивается автоматика и начинается ручная работа. Именно она определяет срок и цену.

Откуда
Куда
Что переносится, а что переписывается
Срок
ОткудаOracleСхема, данные, PL/SQL, задания, права
КудаPostgreSQLОбычный или сертифицированный
Что переносится, а что переписываетсяСтруктура и данные — автоматически. Пакеты, автономные транзакции и иерархические запросы — руками
Срок1–3 месяца
ОткудаMS SQLСхема, данные, T-SQL, агент
КудаPostgreSQLОбычный или сертифицированный
Что переносится, а что переписываетсяБлиже по синтаксису, но отличается работа с датами, NULL и регистром имён
Срок1–2 месяца
ОткудаWindows ServerСерверы приложений, файловые ресурсы, веб
КудаLinuxAstra Linux, РЕД ОС, Ubuntu, Debian
Что переносится, а что переписываетсяВеб и приложения переносятся штатно. Всё, что завязано на .NET Framework и COM, требует отдельного разбора
Срок1–2 месяца
ОткудаActive DirectoryПользователи, группы, политики
КудаFreeIPA или Samba DCПлюс единый вход через Keycloak
Что переносится, а что переписываетсяКаталог и вход переносятся. Групповые политики Windows аналога не имеют и переписываются под Linux
Срок1–3 месяца
Честно

Что вы получите и что придётся принять

Правую колонку читайте первой. О ней обычно не пишут, а узнают через месяц после переключения.

Что получаете

  • Лицензионные платежи за СУБД и серверную ОС исчезают.
  • Появляется право читать исходный код того, на чём работает бизнес.
  • Снимается риск, что поддержку отключат решением зарубежного вендора.
  • Открывается путь в реестр и к закупкам, где проприетарное ПО не проходит.
  • Масштабирование перестаёт упираться в стоимость лицензии на ядро.

Что придётся принять

  • Нужна своя или подрядная экспертиза: PostgreSQL прощает меньше, чем Oracle, и настраивать его придётся.
  • Часть логики придётся переписать. Автоконвертер переносит синтаксис, но не смысл, и каждую процедуру читают руками.
  • Первые месяцы после переключения нагрузка на администраторов выше обычной.
  • Некоторых возможностей нет вовсе: автономных транзакций, части аналитических функций, отдельных типов индексов.
  • Сертифицированные сборки стоят денег — бесплатным остаётся только обычный PostgreSQL.
Что делаем

Восемь направлений работ

Что понадобится именно вам, становится ясно после инвентаризации. Отчёт о совместимости вы получаете на руки.

Инвентаризация и оценка

Схема, объекты, задания, все потребители базы и профиль нагрузки. На выходе — отчёт о совместимости с оценкой объёма.

2–3 недели

Перенос схемы и данных

Таблицы, индексы, ограничения, последовательности, права. Со сверкой контрольных сумм по ключевым таблицам.

2–4 недели

Перенос логики

Процедуры, функции, триггеры, задания планировщика. Сконвертированное читаем руками — это основная часть срока.

3–8 недель

Правка приложений

Там, где код обращается к специфичному синтаксису. Включая доработку 1С и самописных систем под новую СУБД.

2–6 недель

Перенос серверов на Linux

Серверы приложений, веб, файловые ресурсы, каталог пользователей и единый вход.

1–2 месяца

Нагрузка и настройка

Прогон реального профиля запросов, планы, индексы, параметры. Сравнение с базовым замером до переноса.

1–3 недели

Отказоустойчивость и копии

Репликация, автоматическое переключение, резервное копирование с проверкой восстановления.

1–3 недели

Обучение и сопровождение

Передача знаний вашим администраторам, документация, поддержка первых месяцев после переключения.

от 20 000 ₽/мес
Как устроено

Почему переключение не страшно

Обе системы работают одновременно, данные сверяются ежедневно, и до конца периода откат занимает минуты.

ПАРАЛЛЕЛЬНЫЙ ПЕРИОДСтарая системаOracle, MS SQL, Windows Server —работает как обычноСверкаКонтрольные суммы и выборочнаяпроверка каждый деньНовая системаPostgreSQL и Linux — под нагрузкой,но пока не главнаяоткатданныестарая — главнаяобе работаютновая — главнаяСтарую систему выводим не в день переключения, а после оговорённого срока работы новой без замечаний.Пока этот срок не прошёл, откат занимает минуты и не требует восстановления из копии.
Именно из-за этого мы не обещаем миграцию «совсем без простоя». Полная остановка нужна на само переключение и обычно измеряется часами — эта цифра стоит в регламенте, а не в рекламе.
Процесс

Как идёт работа

Каждый этап закрывается актом. Остановиться можно после инвентаризации — отчёт о совместимости остаётся у вас.

Недели 1–3 — Инвентаризация

Собираем, что реально работает: объекты, задания, потребители базы, профиль нагрузки. Отсюда берётся честная оценка срока.

Недели 3–4 — План и целевая платформа

Выбираем СУБД и ОС, согласуем очерёдность, точки отката и критерии приёмки. Здесь же говорим, если переносить рано.

Недели 4–12 — Перенос на тестовый контур

Схема, данные, логика, права. Каждую сконвертированную процедуру читаем и проверяем на тестовых данных.

Недели 12–14 — Нагрузка

Прогон реальных запросов, настройка планов и параметров, сравнение с замером, снятым до переноса.

Недели 14–18 — Параллельный период

Обе системы работают, данные сверяются, расхождения разбираются. Старая база остаётся рабочей.

Переключение

По регламенту, с точкой отката и дежурством в первые дни. Старую систему выводим только после оговорённого срока без замечаний.

Контроль

Что остаётся у вас и чего мы не делаем

Остаётся у вас

  • Отчёт о совместимости и реестр зависимостей — с ним можно идти к любому подрядчику.
  • Скрипты переноса и конвертации в вашем репозитории.
  • Протокол сверки данных: контрольные суммы и выборочная проверка.
  • Замеры нагрузки до и после — доказательство, что не стало медленнее.
  • Регламент переключения с точкой отката и инструкции для администраторов.

Мы этого не делаем

  • Не обещаем миграцию совсем без остановки. Полная остановка нужна только на само переключение и обычно измеряется часами — это записано в регламенте, а не в рекламе.
  • Не переключаем без параллельного периода: без него первая же ошибка становится аварией.
  • Не доверяем автоконвертации: сконвертированный код читается руками, и это заложено в срок.
  • Не проводим аттестацию объектов информатизации и лицензируемые работы по защите информации.
Разборы задач

Как это устроено внутри

Первый разбор — про перенос базы к сроку, когда перечня зависимостей нет, а половина логики в процедурах.

Финансы

Перенос базы с MS SQL на PostgreSQL к сроку

Лицензии заканчиваются, половина логики в хранимых процедурах, перечня зависимостей нет.

  • Автоконвертация переносит синтаксис
  • Нужен базовый замер нагрузки
Читать разбор →
Промышленность

Поиск по технической документации

Часть архива живёт в системах, которые сами подлежат переносу: с них начинается инвентаризация.

  • Смысл в основной надписи
  • Действующая редакция неочевидна
Читать разбор →
Торговля, средний бизнес

Обмен 1С с маркетплейсами и сайтом

Обмены — первое, что ломается после переезда базы: их список и надо собирать до переноса.

  • Кто главный по остатку
  • Повтор не должен создавать дубль
Читать разбор →
Стек

С чем работаем

Целевую платформу выбираем под ваши требования к реестру и поддержке, а не под свои предпочтения.

СУБД
  • PostgreSQL
  • Postgres Pro
  • Tantor
  • Jatoba
  • MySQL
  • MariaDB
  • ClickHouse
Операционные системы
  • Astra Linux
  • РЕД ОС
  • ALT Linux
  • Ubuntu
  • Debian
  • AlmaLinux
Перенос и проверка
  • ora2pg
  • pgloader
  • SQLines
  • Liquibase
  • Сверка контрольных сумм
  • Трассировка запросов
Эксплуатация
  • Patroni
  • repmgr
  • pgBackRest
  • Keycloak
  • FreeIPA
  • Samba DC
  • Prometheus
  • Grafana
  • Zabbix
Кому подходит

Кто обычно приходит

Госсектор и КИИ

Сроки регулятора и требования по категорированию: переход обязателен независимо от желания.

Промышленность

Учётные и производственные контуры на Oracle и MS SQL, серверы приложений на Windows.

Финансы и страхование

Большой объём логики в процедурах и жёсткие требования к непрерывности.

Разработчики продуктов

Тем, кому нужно попасть в реестр отечественного ПО: без поддержки отечественной СУБД заявка не проходит.

Кто просто считает деньги

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

Заявка

Оценим вашу миграцию

Сорок минут созвона: что стоит, какой объём, кто ходит в базу и к какому сроку надо успеть. По итогам назовём объём инвентаризации, цену и срок.

Спасибо, заявка отправлена. Ответим в течение рабочего дня.

Не удалось отправить. Напишите в телеграм или позвоните.

Вопросы

Частые вопросы

Сколько занимает миграция?

Типовая база — один-три месяца вместе с параллельным периодом. Основное время уходит не на данные, а на логику: сколько именно, становится известно после инвентаризации.

Работа остановится?

На время переноса — нет: он идёт на тестовом контуре, боевая база продолжает работать. Остановка нужна только на само переключение и обычно измеряется часами. Обещать полное отсутствие простоя было бы неправдой.

Что будет с производительностью?

Может стать и лучше, и хуже — планировщик PostgreSQL работает иначе. Поэтому мы снимаем профиль запросов до переноса, а после гоняем его снова и настраиваем. Без базового замера этот вопрос не имеет ответа.

Как переносятся специфичные функции Oracle и MS SQL?

Часть автоматически, часть руками. Автономные транзакции, иерархические запросы, отдельные аналитические функции и поведение NULL переписываются. Объём такой работы — главный результат инвентаризации.

Работаете ли вы с отечественными СУБД?

Да: Postgres Pro, Tantor, Jatoba. Технически миграция от этого почти не меняется, отличается только сборка и её поддержка. Нужна ли сертифицированная — зависит от ваших требований к реестру.

Какие риски и как вы их снижаете?

Три основных: недооценённый объём логики, деградация запросов и неизвестные потребители базы. Против первого — чтение процедур руками, против второго — замер до и после, против третьего — трассировка обращений на работающей системе.

Сколько это стоит?

Обследование стека и план миграции — от 250 000 ₽ с фиксированной ценой, вычитается из следующего этапа. Перенос — от 800 000 ₽. Перенос серверов на Linux считается отдельно по числу узлов.