Руководство по миграции из Oracle в SQL Server

Применимо к:SQL Server

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

Другие рекомендации по миграции см. в руководствах по переносу баз данных в Azure.

Важно!

Испробуйте новое расширение "Оценка переноса базы данных для Oracle" в Azure Data Studio для предварительной оценки Oracle для SQL и классификации рабочей нагрузки. Если вы находитесь на раннем этапе миграции Oracle в SQL и вам нужно выполнить высокоуровневую оценку рабочей нагрузки, определить размер целевого объекта Azure SQL для рабочей нагрузки Oracle или определить четность миграции возможностей, воспользуйтесь новым расширением. Чтобы получить подробные сведения об оценке и преобразовании кода, перейдите к SSMA для Oracle.

Необходимые компоненты

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

Подготовка к миграции

При подготовке к миграции в облако убедитесь, что исходная среда поддерживается и соответствует всем остальным предварительным требованиям. Это помогает обеспечить эффективную и успешную миграцию.

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

Рекомендуемые

Чтобы лучше понять процесс миграции и подготовиться к нему, используйте набор средств Microsoft Assessment and Planning Toolkit (MAP), который поможет выявить существующие источники данных и получить сведения о функциях, используемых вашей организацией. Этот процесс включает в себя сканирование сети для обнаружения всех экземпляров, версий и компонентов Oracle в организации.

Чтобы использовать map набор средств для проверки инвентаризации, выполните следующие действия.

  1. Откройте набор средств MAP.

  2. На панели Overview (Обзор) выберите Create/Select database (Создание или выбор базы данных).

    Screenshot of the 'Create/Select database' link on the MAP Toolkit Overview pane.

  3. В разделе Create or select a database (Создание или выбор базы данных) щелкните Create an inventory database (Создать базу данных инвентаризации), введите имя и краткое описание для новой базы данных инвентаризации, а затем нажмите кнопку ОК.

    Screenshot of the 'Create an inventory database' option in the MAPS Toolkit.

  4. Щелкните Collect inventory data (Сбор данных инвентаризации), чтобы открыть мастер инвентаризации и оценки.

    Screenshot of the 'Collect inventory data' link in the Inventory and Assessment Wizard.

  5. В этом мастере выберите Oracle, а затем щелкните Next (Далее).

    Screenshot of the Oracle option and Next button in the Inventory and Assessment Wizard.

  6. Выберите оптимальный вариант для поиска компьютеров с учетом среды и потребностей вашей организации, а затем щелкните Next (Далее).

    Screenshot of the list of computer-discovery methods that best suit your organization's needs.

  7. Введите существующие учетные данные или создайте их для нужных систем, а затем щелкните Next (Далее).

    Screenshot of the wizard pane for entering your computer credentials.

  8. Укажите очередность учетных данных и нажмите кнопку Next.

    Screenshot of the wizard pane for setting the order of credentials.

  9. Укажите учетные данные для каждого компьютера, который требуется обнаружить. Вы можете указать уникальные учетные данные для каждого компьютера или выбрать их из списка Computers (Компьютеры).

    Screenshot of the 'Use all computers credential list' option for specifying the credentials for each computer you want to discover.

  10. Проверьте выбранные настройки и нажмите кнопку Finish (Готово).

    Screenshot of the wizard summary page for reviewing your selections.

  11. После завершения сканирования просмотрите сводный отчет Data Collection (Сбор данных). Это сканирование может занять несколько минут в зависимости от количества баз данных. По завершении нажмите кнопку Close (Закрыть).

    Screenshot of the Data Collection summary report page.

  12. Выберите Options (Параметры), чтобы создать отчет об оценке баз данных Oracle. Для создания отчета поочередно выберите оба параметра.

Оценка

Завершив выбор источников данных, с помощью SSMA для Oracle оцените тот экземпляр Oracle, который вы переносите на виртуальную машину SQL Server, чтобы увидеть различия между ними. Используя помощник по миграции, можно изучить объекты баз данных и данные в них, оценить возможности переноса баз данных, перенести объекты баз данных в SQL Server, а затем перенести данные в SQL Server.

Чтобы создать оценку, выполните следующие действия.

  1. Откройте SSMA для Oracle.

  2. Выберите File (Файл) и New Project (Создать проект).

  3. Укажите имя и расположение проекта, а затем в раскрывающемся списке выберите целевой объект миграции SQL Server. Нажмите ОК.

    Screenshot of the New Project pane in SSMA for Oracle.

  4. Щелкните Connect to Oracle (Подключиться к Oracle), введите сведения о подключении к Oracle и нажмите кнопку Connect (Подключиться).

    Screenshot of the Connect to Oracle pane.

  5. На панели Filter objects (Фильтрация объектов) выберите схемы Oracle, которые вы намерены перенести, и щелкните OK (ОК).

    Screenshot of the 'Filter objects' pane for selecting the schemas to load.

  6. На панели Oracle Metadata Explorer (Обозреватель метаданных Oracle) выберите нужную схему Oracle и щелкните Create Report (Создать отчет), чтобы создать отчет в формате HTML со статистикой преобразований и списком ошибок и предупреждений (при их наличии). Как вариант, можно также выбрать вкладку Создать отчет в правом верхнем углу.

    Screenshot of the 'Create Report' links in Oracle Metadata Explorer.

  7. Ознакомьтесь с отчетом в формате HTML, чтобы получить сведения о статистике преобразований, а также об ошибках или предупреждениях. Также можно открыть отчет в Excel, чтобы получить список объектов Oracle и действий, необходимых для выполнения преобразований схемы. По умолчанию этот отчет находится в папке report в каталоге SSMAProjects. Например:

    drive:\<username>\Documents\SSMAProjects\MyOracleMigration\report\report_2016_11_12T02_47_55\

    Screenshot of a conversion report in SSMA.

Обновление типов данных

Проверьте сопоставления типов данных по умолчанию и измените их в зависимости от требований, если это необходимо. Для этого:

  1. Щелкните Tools (Средства) и выберите Project Settings (Параметры проекта).

  2. Перейдите на вкладку Type mapping (Сопоставление типов).

    Screenshot of the 'Type Mapping' pane in SSMA for Oracle.

  3. Сопоставление типов для каждой таблицы можно изменить, выбрав имя нужной таблицы в области Oracle Metadata explorer (Обозреватель метаданных Oracle).

Преобразование схемы

Чтобы преобразовать схему, выполните следующие действия.

  1. (Необязательно) Чтобы преобразовать динамические или специализированные запросы, щелкните нужный узел правой кнопкой мыши и выберите пункт Добавить инструкцию.

  2. Перейдите на вкладку Connect to SQL Server (Подключение к SQL Server), а затем введите сведения о подключении к экземпляру SQL Server.

    1. В раскрывающемся списке базы данных выберите целевую базу данных или укажите новое имя для создания базы данных на целевом сервере.

    2. Предоставьте сведения о проверке подлинности.

    3. Нажмите Подключиться.

      Screenshot of the Connect to SQL Server pane in SSMA for Oracle.

  3. На панели Oracle Metadata Explorer (Обозреватель метаданных Oracle) щелкните правой кнопкой мыши схему, с которой вы работаете, и выберите действие Convert Schema (Преобразовать схему). Также можно выбрать вкладку Convert Schema (Преобразовать схему) в правом верхнем углу.

    Screenshot of the 'Convert Schema' command on the 'Oracle Metadata Explorer' pane.

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

    Screenshot showing a comparison of the converted objects to the original objects.

    Сравните преобразованный текст Transact-SQL с исходным кодом и просмотрите рекомендации.

    Screenshot showing a comparison of the converted text to the original code.

  5. На панели выходных данных щелкните значок Review results (Проверка результатов), а затем просмотрите ошибки в области Error list (Список ошибок).

  6. В качестве упражнения по исправлению схемы в автономном режиме сохраните проект на локальном устройстве, выбрав File>Save Project (Файл > Сохранить проект). Это позволит вам оценить исходную и целевую схемы в автономном режиме и устранить проблемы перед публикацией схемы в экземпляре SQL Server.

Перенос базы данных

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

Чтобы опубликовать схему и перенести базу данных, выполните следующие действия.

  1. Опубликуйте схему. В области SQL Server Metadata Explorer (Обозреватель метаданных SQL Server) щелкните базу данных правой кнопкой мыши и выберите Synchronize with Database (Синхронизировать с базой данных). Схема Oracle будет опубликована в экземпляре SQL Server.

    Screenshot of the 'Synchronize with Database' command on the SQL Server Metadata Explorer pane.

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

    Screenshot of the 'Synchronize with the Database' pane for reviewing database mapping.

  3. Перенесите данные. В области Oracle Metadata Explorer (Обозреватель метаданных Oracle) щелкните правой кнопкой мыши схему или объект, которые вы хотите перенести, и выберите Migrate Data (Перенос данных). Как вариант, можно выбрать вкладку Миграция данных в правом верхнем углу.

    Чтобы перенести данные всей базы данных, установите флажок рядом с ее именем. Чтобы перенести данные из отдельных таблиц, разверните базу данных, разверните Таблицы и установите флажок рядом с нужной таблицей. Чтобы не переносить данные из определенной таблицы, снимите флажок.

    Screenshot of the Migrate Data links.

  4. На панели Migrate Data (Перенос данных) введите сведения о подключении к Oracle и SQL Server.

  5. После завершения переноса просмотрите Data Migration Report (Отчет о миграции данных).

    Screenshot of the Data Migration Report.

  6. Подключение экземпляру SQL Server с помощью SQL Server Management Studio (SSMS), а затем проверьте миграцию, просмотрив данные и схему.

    Screenshot of SQL Server Management Server. Помимо использования SSMA, для переноса данных можно использовать службы SQL Server Integration Services (SSIS). Дополнительные сведения см. на следующих ресурсах:

После миграции

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

Исправление приложений

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

Data Access Migration Toolkit — это расширение для Visual Studio Code, с помощью которого можно анализировать исходный код Java и отслеживать вызовы и запросы к API доступа к данным. Этот набор средств содержит представление с одной областью для задач, которые нужно решить для поддержки новой серверной части базы данных. Дополнительные сведения см. в записи блога Перенос приложения Java из Oracle.

Выполнение тестов

Подход теста к миграции базы данных состоит из следующих действий:

  1. Разработка проверочных тестов. Чтобы протестировать перенос базы данных, необходимо использовать SQL-запросы. Следует создать проверочные запросы, которые будут выполняться в исходной и в целевой базах данных. Запросы проверки должны охватывать заданные вами область.

  2. Настройка тестовой среды. Тестовая среда должна содержать копию исходной и целевой баз данных. Не забудьте изолировать тестовую среду.

  3. Выполнение проверочных тестов. Выполните проверочные тесты в исходной и целевой базах данных, а затем проанализируйте результаты.

  4. Выполнение тестов производительности. Запустите тесты производительности для исходной и целевой баз данных, а затем проанализируйте и сравните результаты.

Оптимизация

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

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

Ресурсы, посвященные миграции

Дополнительную помощь по этому сценарию миграции можно получить в приведенных ниже ресурсах. Они разработаны как вспомогательные материалы по реализации реальных проектов миграции.

Заголовок Description
Модель и средство оценки рабочей нагрузки данных Предоставляет предлагаемые целевые платформы, облачную готовность и уровни исправления приложений и баз данных для указанных рабочих нагрузок. Он предлагает простое, одно щелчком вычисление и создание отчетов, которое помогает ускорить оценку больших активов, предоставляя автоматизированный, универсальный процесс принятия решений целевой платформы.
Артефакты скрипта инвентаризации Oracle Включает в себя запрос PL/SQL, который обращается к системным таблицам Oracle и возвращает количество объектов по типам схем, типам объектов и состоянию. Он также дает приблизительную оценку объема "необработанных данных" и размера таблиц в каждой схеме. Результаты сохраняются в формате CSV.
Автоматизация сбора и объединения данных для оценки баз данных Oracle в SSMA Это набор ресурсов, который использует CSV-файл (sources.csv в папках проектов) в качестве основы для создания XML-файлов, необходимых для проведения оценки SSMA в режиме консоли. Файл source.csv предоставляется клиентом на основе инвентаризации существующих экземпляров Oracle. Выходные файлы: AssessmentReportGeneration_source_1.xml, ServersConnectionFile.xml и VariableValueFile.xml.
Проблемы в SSMA и возможные решения при миграции баз данных Oracle Обсуждение возможностей, которые Oracle предоставляет для назначение нескалярного условия в предложении WHERE. В SQL Server, однако, такой тип условия не поддерживается. В результате SSMA для Oracle не преобразует запросы с не скалярным условием в предложении WHERE, а не создает ошибку O2SS0001. В этом техническом документе содержатся дополнительные сведения о данной проблеме и способах ее устранения.
Руководство по переносу баз данных Oracle в SQL Server Описывает задачи, связанные с переносом схемы Oracle в SQL Server последней версии. Если миграция требует изменений в функциях и функциях, необходимо тщательно учитывать возможный эффект каждого изменения в приложениях, использующих базу данных.
Из Oracle в SQL Server — средство сравнения баз данных SSMA for Oracle Tester — это рекомендуемое средство для автоматической проверки преобразования объектов базы данных и переноса данных, которое является надмножеством функций средства сравнения баз данных.

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

Эти ресурсы разработали специалисты по разработке данных SQL. Основная задача этой команды — включить и ускорить комплексную модернизацию проектов миграции платформы данных на платформу данных Microsoft Azure.