Как оптимизировать миграцию схемы и данных
Для оптимизации процесса миграции с использованием Конвертум Мастер Классик мы рекомендуем разбить конвертацию на несколько потоков, используя следующий подход:
- (Экземпляр 1) В первом экземпляре инструмента выберите все таблицы (а также другие объекты — представления, функции и т. д., если они есть), которые необходимо конвертировать.
На странице 'Настройки' выберите 'Tables' в дереве объектов и на вкладке 'Data' снимите флажок 'Экспортировать Данные'.

Это позволит инструменту сконвертировать все DDL, индексы и ограничения, не тратя время на экспорт данных. Затем на вкладке 'DDL' в выпадающем списке выберите 'Table Option'», убедитесь, что для параметра 'Порядок импорта для таблиц' выбрано значение 'Fast' .

Этот параметр позволяет загружать ограничения и индексы отдельно от DDL, чтобы затем импортировать их в базу данных по отдельности.
- (Экземпляры 2–N) В остальных экземплярах будет выполняться только конвертация данных.
На вкладке 'DDL' в разделе 'Настройки' необходимо снять флажок 'Генерировать DDL'. Таким образом, в этих потоках будут загружаться и конвертироваться только данные.

Параметр 'Экспортировать Данные' при этом должен быть включён.

При необходимости область можно разделить на примерно равные части данных для ускорения процесса конвертации. Существует два способа разделения данных в таблице:
a) Если выбраны отдельные таблицы для конвертации, можно указать начальную строку и количество строк для загрузки в разделе 'Tables' на вкладке 'Data'. Например, в одном экземпляре можно загрузить N строк, начиная с первой, а в другом — оставшиеся строки, начиная с N+1, и так далее. Количество таких экземпляров не ограничено.

b) Можно задать SQL-условие для каждой таблицы. Если таблица имеет ключ, можно написать SQL-условие на языке исходной базы данных, которое позволит разбить таблицу на части (подробные инструкции приведены здесь).
Для каждого экземпляра также необходимо выбрать значение 'Fast' для параметра 'Порядок импорта для таблиц'. Далее алгоритм следующий: сначала запустите конвертацию всех потоков (убедитесь, что флажок 'Автоматический запуск импорта' снят во всех потоках).

После завершения конвертации всех таблиц в первом экземпляре (Экземпляр 1) необходимо загрузить ТОЛЬКО DDL этих таблиц в целевую базу данных. Для этого в окне «Import Settings» оставьте отмеченным только пункт 'DDL' (если также мигрируются другие объекты, можно отметить соответствующие пункты, например 'Views', 'Triggers' и т. д.).

Затем необходимо дождаться завершения экспорта данных в каждом потоке и после этого импортировать данные в целевую базу данных (Экземпляры 2–N). Обратите внимание, что в этом случае в окне 'Import Settings' должен быть выбран только пункт 'Data'.

После загрузки всех данных в базу необходимо в основном экземпляре (Экземпляр 1) выбрать в окне 'Import Settings' только 'Indexes' и 'Constraints' и выполнить импорт.

Такой механизм позволяет конвертировать все таблицы и данные в нескольких экземплярах без риска возникновения проблем, связанных с ключами и зависимостями между объектами.
Если у вас возникнут дополнительные вопросы, пожалуйста, свяжитесь с нами по адресу: support@convertum.ru