Как перенести базу данных Oracle на сервер MySQL? [закрыто]

8

В настоящее время наше приложение работает с использованием базы данных Oracle 11g. Мы разрабатываем более новую версию приложения, которое работает на кластере MySQL. Нам нужно перенести данные из базы данных Oracle в базу данных MySQL. Это не прямая копия объектов базы данных. В более новой версии схема приложения (структура таблицы и отношения) изменена. И таблицы аудита также должны быть скопированы. Есть ли способ сопоставить таблицы, столбцы из старой схемы Oracle и новой схемы MySQL и применить копирование, чтобы данные были скопированы?

Мы думаем сделать это в два этапа. 1. Конвертировать базу данных Oracle в базу данных MySQL. 2. Написание хранимой процедуры для копирования таблицы за таблицей.

Существуют ли передовые практики при выполнении такого рода миграции баз данных от одного поставщика СУБД к другому? Есть ли какие-либо открытые или коммерческие инструменты для этого?

Сурен Раджу
источник

Ответы:

5

Я рекомендую выполнить эту миграцию в два этапа.

  1. Используйте MySQL Workbench для переноса большинства объектов базы данных и данных в MySQL (данные таблицы будут также скопированы этим процессом). См. Использование мастера миграции MySQL Workbench для получения подробной информации. Это оставит вас с ручной работой для конкретных объектов, таких как хранимые процедуры. Ни один инструмент не может выполнить автоматическую миграцию, поскольку хранимые процедуры сильно различаются между Oracle и MySQL.
  2. Используйте MySQL Workbench для обратного инжиниринга перенесенной базы данных в модель.
  3. Используйте эту модель, чтобы приспособить объекты к вашей новой структуре схемы.
  4. Синхронизируйте модель с вашим сервером, чтобы применить изменения. В зависимости от того, какие изменения вы внесли, это может быть неразрушающим, но, конечно, иметь резервную копию всегда хорошая идея.

Вы можете повторять шаги 3 и 4 столько раз, сколько хотите, чтобы постепенно корректировать свою схему. Синхронизация также примет на себя любые изменения, внесенные в схему другими пользователями (двусторонняя синхронизация).

Миграция с Oracle на MySQL не поддерживается MySQL Workbench. Все мои предложения выше - это просто идеи, которые можно попробовать, чтобы они хотя бы частично работали. Однако ничего из этого не тестируется, поскольку, как я уже сказал, миграция с Oracle на MySQL не поддерживается.

Майк Лишке
источник
0

Недавно я преобразовал базу данных Oracle в MySQL с помощью программы DBConvert. Существует бесплатная версия, которая вставляет водяные знаки в большие таблицы, но это можно исправить. ;) Это не идеально и может потребоваться немного поработать, чтобы исправить после преобразования.

Hatandboots
источник