Миграция баз данных Oracle. Перепроектирование

Управляемый экземпляр SQL Azure
Виртуальные машины Azure

Вы хорошо знакомы с Microsoft SQL Server? В этом случае вы можете использовать Управляемый экземпляр SQL Azure для перепроектирования базы данных. Преимущества этого варианта:

Архитектура

Схема архитектуры, показывающая Azure SQL Управляемые экземпляры, подключенные к базе данных Azure SQL через подключение к частной конечной точке.

Рабочий процесс

  1. Используйте SSMA для преобразования схемы Oracle в схему SQL.

  2. Перенесите новую схему в Управляемый экземпляр SQL Azure.

  3. Подключите Управляемый экземпляр SQL к Базе данных SQL Azure.

Компоненты

  • Управляемый экземпляр SQL Azure представляет собой интеллектуальную масштабируемую облачную службу базы данных, которая сочетает в себе широкую совместимость с ядром SQL Server и все преимущества полностью управляемой и актуальной платформы в формате PaaS.

  • Azure SQL обеспечивает единый интерфейс со всеми решениями на базе SQL и полный спектр вариантов развертывания.

  • Виртуальная сеть Azure — это частная сеть в среде Azure.

Развертывание этого сценария

Оценка базы данных Oracle

Используйте набор средств оценки и планирования Майкрософт (MAP) для оценки существующей базы данных и схем Oracle. Дополнительные сведения см. в руководстве по миграции Oracle в SQL Server.

Результаты преобразования объектов Oracle

Скачайте SSMA и используйте это средство для переноса данных и схемы Oracle: Помощник по миграции Microsoft SQL Server для Oracle.

В этой таблице показаны результаты преобразования объектов Oracle в объекты SQL Server с помощью SSMA.

Объекты Oracle Результирующие объекты SQL Server
Функции Если функция может быть напрямую преобразована в инструкцию Transact-SQL, SSMA создает функцию.
В некоторых случаях функция должна быть преобразована в хранимую процедуру. В этом случае SSMA создает хранимую процедуру и функцию, которая вызывает хранимую процедуру.
Процедуры Если процедуру можно преобразовать непосредственно в инструкцию Transact-SQL, SSMA создает хранимую процедуру.
В некоторых случаях хранимая процедура должна вызываться в автономной транзакции. В этом случае SSMA создает две хранимые процедуры: одна из них реализует процедуру, вторая используется для вызова хранимой процедуры.
Пакеты SSMA создает набор хранимых процедур и функций с похожими именами объектов.
Последовательности SSMA создает объекты последовательности (SQL Server 2012 или SQL Server 2014) или эмулирует последовательности Oracle.
Таблицы с зависимыми объектами, такими как индексы и триггеры SSMA создает таблицы с зависимыми объектами.
Представление с зависимыми объектами, такими как триггеры SSMA создает представления с зависимыми объектами.
Материализованные представления SSMA создает индексированные представления на сервере SQL с некоторыми исключениями. Преобразование завершится ошибкой, если материализованное представление содержит одну или несколько следующих конструкций:

Определяемая пользователем функция

Недетерминированное поле, функция или выражение в предложениях SELECT, WHERE или GROUP BY

Использование столбца типа Float в предложениях SELECT *, WHERE или GROUP BY (частный случай предыдущей ситуации)

Пользовательский тип данных (включая вложенные таблицы)

COUNT(distinct <поле>)

FETCH
Инструкции объединения OUTER (LEFT, RIGHT или FULL)
Вложенный запрос, другое представление
OVER, RANK, LEAD, LOG
MIN, MAX
UNION, MINUS, INTERSECT
HAVING
Триггер SSMA создает триггеры на основе следующих правил:

Триггеры BEFORE преобразуются в триггеры INSTEAD OF.

Триггеры AFTER преобразуются в триггеры AFTER.

Триггеры INSTEAD OF преобразуются в триггеры INSTEAD OF. Несколько триггеров INSTEAD OF, определенных в одной операции, объединяются в один.

Триггеры уровня строки имитируются с помощью курсоров.

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

Таблицы и таблицы объектов
Представления и представления объектов
Хранимые процедуры
Функции

Синонимы для следующих объектов разрешаются и заменяются прямыми ссылками на объекты:

Последовательности

Пакеты

Объекты схемы классов Java

Пользовательские объектные типы
Синонимы синонимов не переносятся и отмечаются как ошибки.

Синонимы не создаются для материализованных представлений.
Пользовательские типы SSMA не поддерживает преобразования пользовательских типов. Типы User-Defined, включая их использование в программах PL/SQL, помечаются специальными ошибками преобразования в соответствии со следующими правилами.:

Столбец таблицы пользовательского типа преобразуется в тип VARCHAR(8000).

Аргумент пользовательского типа для хранимой процедуры или функции преобразуется в тип VARCHAR(8000).
Переменная пользовательского типа в блоке PL/SQL преобразуется в тип VARCHAR(8000).

Таблица объектов преобразуется в стандартную таблицу.
Представление объектов преобразуется в стандартное представление.

Дополнительные сведения см. в разделе Преобразование схем Oracle (OracleToSQL).

Преобразование объектов Oracle и миграция данных

После установки SSMA создайте отчет для преобразования схемы Oracle и выполните миграцию данных в Управляемый экземпляр SQL Azure. Пошаговое руководство см. в статье Перенос схемы Oracle в SQL Server 2017 на Linux посредством Помощника по миграции Microsoft SQL Server.

Задачи после переноса данных

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

Примечание

Не удаляйте пакет расширения из SQL Server, если в перенесенной базе данных еще используются функции из схемы ssma_oracle базы данных sysdb.

Дополнительные сведения см. в разделе Удаление SSMA для компонентов Oracle.

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально она была написана следующими авторами.

Основной автор:

Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.

Дальнейшие действия

Чтобы приступить к миграции базы данных Oracle в SQL, ознакомьтесь со статьей Помощник по миграции Microsoft SQL Server для Oracle (OracleToSQL).

Примечание

Если этот путь миграции не подходит для вашей компании, вернитесь к дереву принятия решений по миграции.