Поделиться через


Руководство по миграции: перенос данных из 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 (Создать или выбрать базу данных).

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

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

    Снимок экрана: интерфейс для создания базы данных инвентаризации.

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

    Снимок экрана: канал сбора данных инвентаризации.

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

    Снимок экрана: страница Inventory Scenarios (Сценарии инвентаризации) мастера инвентаризации и оценки.

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

    Снимок экрана: страница Discovery Methods (Методы обнаружения) мастера инвентаризации и оценки.

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

    Снимок экрана: страница All Computers Credentials (Все учетные данные компьютеров) мастера инвентаризации и оценки.

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

    Снимок экрана: страница Credentials Order (Порядок учетных данных) мастера инвентаризации и оценки.

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

    Снимок экрана: страница Specify Computers and Credentials (Указать компьютеры и учетные данные) мастера инвентаризации и оценки.

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

    Снимок экрана: страница Summary (Сводка) мастера инвентаризации и оценки.

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

    Снимок экрана: сводка сбора данных.

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

Оценка

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

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

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

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

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

    Снимок экрана: диалоговое окно создания проекта.

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

    Снимок экрана: диалоговое окно Connect to Oracle (Подключиться к Oracle).

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

    Снимок экрана: список схем Oracle, которые можно перенести.

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

    Снимок экрана, на котором показано создание отчета.

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

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

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

    Снимок экрана: отчет о преобразовании.

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

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

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

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

    Снимок экрана: вкладка сопоставления типов.

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

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

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

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

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

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

    Снимок экрана: подключение к SQL Server.

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

    Снимок экрана: преобразование схемы.

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

    Снимок экрана: сравнение двух схем.

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

    Снимок экрана, на котором показаны Transact-SQL, хранимые процедуры и предупреждение.

    Проект можно сохранить локально для исправления схемы в автономном режиме. Для этого выберите 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.

    Снимок экрана, на котором показана опция синхронизации с базой данных.

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

    Снимок экрана, на котором показано состояние синхронизации.

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

    Снимок экрана: команда переноса данных.

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

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

    Снимок экрана: отчет о переносе данных.

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

    Снимок экрана: экземпляр SQL Server в 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, выберите Тестировщик, а затем Создать тестовый случай.

    Снимок экрана: новый тестовый случай

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

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

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

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

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

    Снимок экрана: этап инициализации тестового случая.

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

    Снимок экрана: этап выбора и настройки объекта.

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

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

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

    Снимок экрана: этап выбора и настройки затронутого объекта.

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

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

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

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

    Снимок экрана: этап завершения подготовки объекта.

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

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

    Снимок экрана: этап тестирования репозитория.

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

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

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

    Снимок экрана: проверка тестового репозитория.

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

    Снимок экрана: этап запуска тестового случая.

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

    Снимок экрана: этап подключения к источнику Oracle.

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

    Снимок экрана: этап подключения к целевому объекту SQL.

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

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

    Снимок экрана: ход тестирования с помощью тестировщика.

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

    Снимок экрана: пример отчета о тесте с помощью тестировщика

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

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

    Снимок экрана: пример отчета об успешной работе тестировщика.

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

    Снимок экрана: отчет о сбое тестировщика.

Оптимизация

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

Примечание.

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

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

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

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

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