kyrsoronas Ответов: 2

Миграция баз данных Sql server 2016 в oracle 18c


Я пытаюсь перенести базу данных, созданную в SQL Server 2016, в Oracle 18c.

Оба экземпляра базы данных устанавливаются в виртуальные машины.

Однако миграция терпит неудачу, предоставляя сообщение, которое я не мог понять, так как я не так глубоко погружен в СУБД Oracle.

Теперь обе виртуальные машины имеют 4 ГБ оперативной памяти, и каждая из них используется для размещения конкретной СУБД (SQL Server 2016 &Oracle 18c соответственно)

Обе СУБД были установлены с параметрами по умолчанию. Исходная база данных (SQL Server 2016) очень проста, никаких триггеров, хранимых процедур или чего-то подобного. Он имеет только ограничения PK-FK для табличных отношений.

Целевая база данных-это пустая БД (или пользователь, как ее называет Oracle) со всеми привилегиями, указанными в опциях.

За этим процессом следуют параметры по умолчанию в Мастере миграции, причем выбрана только одна опция-усечение целевой БД (если таковая имеется tables....in мой случай меня действительно не волнует, так как я хочу чистую миграцию с нуля, как структуры, так и данных). Показанная ошибка гласит следующее : "Не удается получить объект, если ключ не установлен". До сих пор я ничего не мог найти по этому вопросу.

SQL Server 2016 OS-это Windows Server 2016, Oracle 18c OS-2008R2 Datacenter edition.

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

Что я уже пробовал:

Попробовал выполнить миграцию с SQL Server 2008 R2 на всякий случай, если возникнет несовместимость. Предоставил все привилегии БД. Пробовал переносить только ограничения БД (БД не имеет никаких индексов, триггеров или хранимых процедур).

2 Ответов

Рейтинг:
4

kyrsoronas

Очевидно, я неправильно понял, как работает процедура миграции в Oracle.
Через некоторое время я заметил, что вам нужно создать пользователя миграции, который будет использоваться в качестве посредника для переноса схемы и данных из SQL server в Oracle.
После завершения процедуры вам нужно запустить сгенерированный скрипт, и миграция работает как заклинание.

Вышеизложенное было использовано наравне с некоторыми учебными пособиями и документами, найденными на OTN (Oracle Technology Network) и YouTube.


Рейтинг:
2

Gerry Schmitz

Раз уж ты застрял, я бы так и сделал.:

1) в SQL Server щелкните правой кнопкой мыши БД и выберите "задачи | генерация сценариев..."

2) "скрипт всей базы данных и всех объектов базы данных"

3) "сохранить в файл" ... "Передовой" ... "Типы данных для скрипта" ... "схема и данные".

4) взломать результирующий sql и данные "текстового файла", пока Oracle не примет его.

Предупреждение: большая база данных = большой экспортированный текстовый файл.