Руководство по миграции: перенос данных из Oracle в SQL Server на виртуальных машинах Azure

Применимо к:База данных SQL Azure

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

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

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

Чтобы перенести схему Oracle в SQL Server на виртуальных машинах Azure, вам потребуется:

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

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

Эта часть процесса включает в себя:

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

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

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

Для проведения инвентаризации с помощью MAP Toolkit, выполните указанные ниже действия.

  1. Откройте MAP Toolkit.

  2. Щелкните Create/Select database (Создать или выбрать базу данных).

    Screenshot that shows the Create/Select database option.

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

    Screenshot that shows the interface for creating an inventory database.

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

    Screenshot that shows the Collect inventory data link.

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

    Screenshot that shows the Inventory Scenarios page of the Inventory and Assessment Wizard.

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

    Screenshot that shows the Discovery Methods page of the Inventory and Assessment Wizard.

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

    Screenshot that shows the All Computers Credentials page of the Inventory and Assessment Wizard.

  8. Укажите очередность учетных данных и щелкните Next (Далее).

    Screenshot that shows the Credentials Order page of the Inventory and Assessment Wizard.

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

    Screenshot that shows the Specify Computers and Credentials page of the Inventory and Assessment Wizard.

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

    Screenshot that shows the Summary page of the Inventory and Assessment Wizard.

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

    Screenshot that shows the Data Collection summary.

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

Оценка

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

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

  1. Откройте Помощник по миграции Microsoft SQL Server для Oracle.

  2. В меню Файл выберите пункт Создать проект.

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

    Screenshot that shows the New Project dialog box.

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

    Screenshot that shows the Connect to Oracle dialog box.

    Выберите схемы Oracle для переноса:

    Screenshot that shows the list of Oracle schemas that can be migrated.

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

    Screenshot that shows how to create a report.

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

    Также можно открыть отчет в Excel, чтобы получить список объектов Oracle и действий, необходимых для выполнения преобразований схемы. Расположение отчета по умолчанию — это папка SSMAProjectsотчета.

    Например: drive:\<username>\Documents\SSMAProjects\MyOracleMigration\report\report_2016_11_12T02_47_55\

    Screenshot that shows a conversion report.

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

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

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

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

    Screenshot that shows the Type Mappings tab.

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

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

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

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

  2. В верхнем меню выберите Connect to SQL Server (Подключиться к SQL Server).

    1. Введите сведения о подключении для SQL Server на виртуальной машине Azure.
    2. Выберите целевую базу данных из списка или введите новое имя. Если указать новое имя, база данных будет создана на целевом сервере.
    3. Предоставьте сведения о проверке подлинности.
    4. Нажмите Подключиться.

    Screenshot that shows how to connect to SQL Server.

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

    Screenshot that shows how to convert the schema.

  4. После завершения преобразования схемы изучите преобразованные объекты и сравните их с исходными объектами для выявления потенциальных проблем. Используйте рекомендации для решения любых проблем:

    Screenshot that shows a comparison of two schemas.

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

    Screenshot that shows Transact-SQL, stored procedures, and a warning.

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

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

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

Перенос

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

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

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

    Screenshot that shows the Synchronize with Database command.

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

    Screenshot that shows the synchronization status.

  2. Перенесите данные. Для этого щелкните правой кнопкой мыши базу данных или объект, которые требуется перенести, в Обозревателе метаданных Oracle и выберите Migrate Data (Перенести данные). Можно также выбрать вкладку Перенос данных. Чтобы перенести данные для всей базы данных, установите флажок рядом с именем базы данных. Чтобы перенести данные из отдельных таблиц, разверните базу данных, разверните узел Таблицы и установите флажок рядом с нужной таблицей. Чтобы не переносить данные из определенной таблицы, снимите флажок.

    Screenshot that shows the Migrate Data command.

  3. Укажите сведения о подключении для Oracle и SQL Server на виртуальных машинах Azure в диалоговом окне.

  4. После завершения миграции изучите Отчет о переносе данных.

    Screenshot that shows the Data Migration Report.

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

    Screenshot that shows a SQL Server instance in SSMA.

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

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

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

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

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

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

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

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

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

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

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

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

Проверка перенесенных объектов

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

Создание тестового случая

  1. Откройте SSMA для Oracle, выберите Тестировщик, а затем Создать тестовый случай.

    Screenshot that shows new test case.

  2. В мастере тестовых случаев укажите следующие сведения.

    Имя: укажите имя для идентификации тестового случая.

    Дата создания: текущая дата, определяется автоматически.

    Дата последнего изменения: заполняется автоматически, менять не следует.

    Описание: укажите любые дополнительные сведения, позволяющие идентифицировать назначение тестового случая.

    Screenshot that shows step to initialize a test case.

  3. Выберите объекты, входящие в тестовый случай, из дерева объектов Oracle слева.

    Screenshot that shows step to select and configure object.

    В этом примере выбраны хранимая процедура ADD_REGION и таблица REGION.

    Более подробные сведения см. в статье Выбор и настройка объектов для тестирования.

  4. Далее выберите таблицы, внешние ключи и другие зависимые объекты из дерева объектов Oracle в левом окне.

    Screenshot that shows step to select and configure affected object.

    Более подробные сведения см. в статье Выбор и настройка обрабатываемых объектов.

  5. Проверьте ознакомительную последовательность объектов. Измените порядок, выбрав кнопки в сетке.

    Screenshot that shows step to sequence test object execution.

  6. Чтобы завершить тестовый случай, просмотрите сведения, представленные на предыдущих этапах. Настройте параметры выполнения теста на основе тестового сценария.

    Screenshot that shows step to finalize object.

    Дополнительные сведения о параметрах тестового варианта подготовки тестового случая

  7. Нажмите кнопку "Готово ", чтобы создать тестовый случай.

    Screenshot that shows step to test repo.

Запуск тестового случая

Когда тестировщик SSMA запускает тестовый случай, подсистема тестирования выполняет объекты, выбранные для тестирования, и создает отчет о проверке.

  1. Выберите тестовый случай из тестового репозитория и выберите команду run.

    Screenshot that shows to review test repo.

  2. Просмотрите тестовый случай запуска и выберите запуск.

    Screenshot that shows step to launch test case.

  3. Затем укажите учетные данные источника Oracle. Выберите подключение после ввода учетных данных.

    Screenshot that shows step to connect to oracle source.

  4. Укажите целевые учетные данные SQL Server и выберите подключение.

    Screenshot that shows step to connect to sql target.

    При успешном подключении тестовый случай переходит на этап инициализации.

  5. Индикатор выполнения в режиме реального времени показывает состояние выполнения тестового запуска.

    Screenshot that shows tester test progress.

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

    Screenshot that shows a sample tester test report

  7. Выберите сведения, чтобы получить дополнительные сведения.

    Пример положительной проверки данных

    Screenshot that shows a sample tester success report.

    Пример непройденной проверки данных

    Screenshot that shows tester failure report.

Оптимизация

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

Примечание.

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

Ресурсы по миграции

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

Название/ссылка 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.

Следующие шаги