Руководство по миграции: перенос данных из Oracle в SQL Server на виртуальных машинах Azure
Применимо к: База данных SQL Azure
Из этого руководства вы узнаете, как переносить схемы Oracle в SQL Server с использованием Помощника по миграции SQL Server для Oracle.
Другие руководства по миграции см. в разделе Перенос базы данных.
Необходимые компоненты
Чтобы перенести схему Oracle в SQL Server на виртуальных машинах Azure, вам потребуется:
- поддерживаемая исходная среда;
- Помощник по миграции SQL Server (SSMA) для Oracle;
- целевая виртуальная машина SQL Server;
- необходимые разрешения для SSMA для Oracle и поставщика;
- возможность подключения и требуемые разрешения для доступа к исходному и целевому объектам.
Подготовка к миграции
При подготовке к миграции в облако убедитесь в том, что исходная среда поддерживается и что выполнены все предварительные требования. Так будет проще успешно и эффективно выполнить миграцию.
Эта часть процесса включает в себя:
- Проведение инвентаризации баз данных, которые необходимо перенести.
- Оценку этих баз данных на наличие потенциальных проблем с миграцией или блокировок.
- Разрешение всех выявленных проблем.
Обнаружить
Используйте MAP Toolkit для поиска существующих источников данных и сведений о функциях, используемых вашим предприятием. Это позволит лучше понять миграцию и поможет спланировать ее. Этот процесс включает в себя сканирование сети для обнаружения всех используемых экземпляров, версий и компонентов Oracle.
Для проведения инвентаризации с помощью MAP Toolkit, выполните указанные ниже действия.
Откройте MAP Toolkit.
Щелкните Create/Select database (Создать или выбрать базу данных).
Выберите Create an inventory database (Создать базу данных инвентаризации). Введите имя для новой базы данных инвентаризации, укажите краткое описание и нажмите кнопку OK.
Щелкните Collect inventory data (Сбор данных инвентаризации), чтобы открыть мастер инвентаризации и оценки.
В мастере инвентаризации и оценки выберите Oracle и щелкните Next (Далее).
Выберите способ поиска компьютеров, который лучше всего подходит для ваших потребностей и среды, а затем щелкните Next (Далее).
Введите учетные данные или создайте их для нужных систем, а затем щелкните Next (Далее).
Укажите очередность учетных данных и щелкните Next (Далее).
Укажите учетные данные для каждого компьютера, который требуется обнаружить. Можно использовать уникальные учетные данные для каждого компьютера или список учетных данных для всех компьютеров.
Просмотрите выбранные параметры и нажмите кнопку Finish (Готово).
После завершения сканирования просмотрите сводку Data Collection (Сбор данных). Это сканирование может занять несколько минут в зависимости от количества баз данных. После завершения выберите Close (Закрыть).
Выберите Options (Параметры), чтобы создать отчет об оценке баз данных Oracle. Для создания отчета поочередно выберите оба параметра.
Оценка
После выявления источников данных, используйте Помощник по миграции Microsoft SQL Server для Oracle, чтобы оценить экземпляры Oracle, переносимые на виртуальную машину SQL Server. Помощник поможет понять расхождения между исходной и целевой базами данных. Используя его можно просмотреть объекты и данные баз данных, оценить возможности переноса баз данных, перенести объекты баз данных в SQL Server, а затем перенести в SQL Server данные.
Чтобы создать оценку, выполните следующие действия.
Откройте Помощник по миграции Microsoft SQL Server для Oracle.
В меню Файл выберите пункт Создать проект.
Укажите имя проекта, расположение для сохранения проекта, а затем выберите из списка целевой объект миграции SQL Server. Нажмите кнопку ОК.
Щелкните Connect to Oracle (Подключиться к Oracle). Введите сведения о подключении к Oracle в диалоговом окне Connect to Oracle (Подключиться к Oracle).
Выберите схемы Oracle для переноса:
В Oracle Metadata Explorer (Обозреватель метаданных Oracle) щелкните правой кнопкой мыши схему Oracle, которую вы хотите перенести, и выберите Create Report (Создать отчет), чтобы создать отчет в формате HTML. При этом будет создан HTML-отчет. Кроме того, можно выбрать базу данных, а затем вкладку Create report (Создать отчет).
Ознакомьтесь с отчетом в формате HTML, чтобы получить сведения о статистике преобразований, ошибках и предупреждениях. Проанализируйте эти сведения, чтобы понять, какие проблемы с преобразованиями имеются и как их устранить.
Также можно открыть отчет в Excel, чтобы получить список объектов Oracle и действий, необходимых для выполнения преобразований схемы. Расположение отчета по умолчанию — это папка
SSMAProjects
отчета.Например:
drive:\<username>\Documents\SSMAProjects\MyOracleMigration\report\report_2016_11_12T02_47_55\
Обновление типов данных
Проверьте сопоставления типов данных по умолчанию и измените их в зависимости от требований, если это необходимо. Для этого выполните следующие шаги:
В меню Tools (Сервис) выберите Project Settings (Параметры проекта).
Перейдите на вкладку Type Mappings (Сопоставление типов).
Сопоставление типов для каждой таблицы можно изменить, выбрав таблицу в обозревателе метаданных Oracle.
Преобразование схемы
Чтобы преобразовать схему, выполните следующие действия.
(Необязательно) Чтобы преобразовать динамические или нерегламентированные запросы, щелкните узел правой кнопкой мыши и выберите команду "Добавить".
В верхнем меню выберите Connect to SQL Server (Подключиться к SQL Server).
- Введите сведения о подключении для SQL Server на виртуальной машине Azure.
- Выберите целевую базу данных из списка или введите новое имя. Если указать новое имя, база данных будет создана на целевом сервере.
- Предоставьте сведения о проверке подлинности.
- Нажмите Подключиться.
В Обозревателе метаданных Oracle щелкните правой кнопкой мыши схему Oracle и выберите команду Convert Schema (Преобразовать схему). Кроме того, можно выбрать пункт Convert schema (Преобразовать схему) в верхнем меню.
После завершения преобразования схемы изучите преобразованные объекты и сравните их с исходными объектами для выявления потенциальных проблем. Используйте рекомендации для решения любых проблем:
Сравните преобразованный текст Transact-SQL с исходным кодом и просмотрите рекомендации.
Проект можно сохранить локально для исправления схемы в автономном режиме. Для этого выберите Save Project (Сохранить проект) в меню File (Файл). Сохранение проекта локально также позволяет оценить исходную и целевую схемы в автономном режиме и исправить проблемы перед публикацией схемы в SQL Server.
В области вывода выберите элемент Review results (Просмотр результатов) и проверьте ошибки в области Error list (Список ошибок).
Сохраните проект локально для исправления схемы в автономном режиме. Выберите Save Project (Сохранить проект) в меню File (Файл). Таким образом можно оценить исходную и целевую схемы в автономном режиме и исправить проблемы перед публикацией схемы в SQL Server на виртуальных машинах Azure.
Миграция
Выполнив необходимые условия и задачи, связанные с этапом подготовки к миграции, можно приступить к переносу схемы и данных. Миграция состоит из двух этапов —публикации схемы и переноса данных.
Чтобы опубликовать схему и перенести данные, выполните следующие действия:
Опубликуйте схему. Для этого щелкните правой кнопкой мыши базу данных в области SQL Server Metadata Explorer (Обозреватель метаданных SQL Server) и выберите пункт Synchronize with Database (Синхронизировать с базой данных). Это позволит опубликовать схему Oracle для SQL Server на виртуальных машинах Azure.
Проверьте результаты сопоставления исходного и целевого проектов.
Перенесите данные. Для этого щелкните правой кнопкой мыши базу данных или объект, которые требуется перенести, в Обозревателе метаданных Oracle и выберите Migrate Data (Перенести данные). Можно также выбрать вкладку Перенос данных. Чтобы перенести данные для всей базы данных, установите флажок рядом с именем базы данных. Чтобы перенести данные из отдельных таблиц, разверните базу данных, разверните узел Таблицы и установите флажок рядом с нужной таблицей. Чтобы не переносить данные из определенной таблицы, снимите флажок.
Укажите сведения о подключении для Oracle и SQL Server на виртуальных машинах Azure в диалоговом окне.
После завершения миграции изучите Отчет о переносе данных.
Подключитесь к SQL Server на экземпляре виртуальных машин Azure с помощью SQL Server Management Studio. Проверьте миграцию, просмотрев данные и схему.
Вместо SSMA для переноса данных можно использовать службы SQL Server Integration Services (SSIS). Дополнительные сведения см. на следующих ресурсах:
- Статья Службы SQL Server Integration Services.
- Технический документ SSIS for Azure и гибридное перемещение данных.
После миграции
После завершения этапа миграции необходимо выполнить ряд дополнительных задач, чтобы обеспечить бесперебойную и эффективную работу всех компонентов.
Исправление приложений
После переноса данных в целевую среду все приложения, которые раньше использовали источник, должны приступить к приему целевого объекта. Внесение этих изменений может потребовать внесения изменений в приложения.
Data Access Migration Toolkit — это расширение для Visual Studio Code. Он позволяет анализировать исходный код Java и обнаруживать вызовы и запросы API доступа к данным. Этот набор средств предоставляет пользователю представление с одной областью для задач, которые нужно решить для поддержки новой серверной части базы данных. Дополнительные сведения см. в Перенос приложения Java из Oracle.
Выполнение тестов
Чтобы протестировать миграцию базы данных, выполните следующие действия.
Разработка проверочных тестов. Чтобы протестировать перенос базы данных, необходимо использовать SQL-запросы. Создайте проверочные запросы, которые будут выполняться в исходной и целевой базах данных. Проверочные запросы должны охватывать всю определенную ранее область.
Настройка тестовой среды. Тестовая среда должна содержать копию исходной и целевой баз данных. Не забудьте изолировать тестовую среду.
Выполнение проверочных тестов. Выполните проверочные тесты для источника и целевого объекта, а затем проанализируйте результаты.
Выполнение тестов производительности. Запустите тест производительности для источника и целевого объекта, а затем проанализируйте и сравните результаты.
Проверка перенесенных объектов
Помощник по миграции Microsoft SQL Server для тестировщика Oracle (тестировщика SSMA) позволяет тестировать перенесенные объекты базы данных. Тестировщик SSMA используется для проверки соответствия поведения преобразованных объектов.
Создание тестового случая
Откройте SSMA для Oracle, выберите Тестировщик, а затем Создать тестовый случай.
В мастере тестовых случаев укажите следующие сведения.
Имя: укажите имя для идентификации тестового случая.
Дата создания: текущая дата, определяется автоматически.
Дата последнего изменения: заполняется автоматически, менять не следует.
Описание: укажите любые дополнительные сведения, позволяющие идентифицировать назначение тестового случая.
Выберите объекты, входящие в тестовый случай, из дерева объектов Oracle слева.
В этом примере выбраны хранимая процедура
ADD_REGION
и таблицаREGION
.Более подробные сведения см. в статье Выбор и настройка объектов для тестирования.
Далее выберите таблицы, внешние ключи и другие зависимые объекты из дерева объектов Oracle в левом окне.
Более подробные сведения см. в статье Выбор и настройка обрабатываемых объектов.
Проверьте ознакомительную последовательность объектов. Измените порядок, выбрав кнопки в сетке.
Чтобы завершить тестовый случай, просмотрите сведения, представленные на предыдущих этапах. Настройте параметры выполнения теста на основе тестового сценария.
Дополнительные сведения о параметрах тестового варианта подготовки тестового случая
Нажмите кнопку "Готово ", чтобы создать тестовый случай.
Запуск тестового случая
Когда тестировщик SSMA запускает тестовый случай, подсистема тестирования выполняет объекты, выбранные для тестирования, и создает отчет о проверке.
Выберите тестовый случай из тестового репозитория и выберите команду run.
Просмотрите тестовый случай запуска и выберите запуск.
Затем укажите учетные данные источника Oracle. Выберите подключение после ввода учетных данных.
Укажите целевые учетные данные SQL Server и выберите подключение.
При успешном подключении тестовый случай переходит на этап инициализации.
Индикатор выполнения в режиме реального времени показывает состояние выполнения тестового запуска.
Просмотрите отчет после завершения теста. Отчет содержит статистику, все ошибки, возникшие во время тестового запуска, и подробный отчет.
Выберите сведения, чтобы получить дополнительные сведения.
Пример положительной проверки данных
Пример непройденной проверки данных
Оптимизация
Проверка после миграции — очень важный шаг, позволяющий добиться точности и полноты данных. Она также важна для устранения проблем с производительностью рабочей нагрузки.
Примечание.
Дополнительную информацию об этих проблемах и мерах по их устранению см. в Руководстве по проверке и оптимизации после миграции.
Ресурсы по миграции
Дополнительную справку о выполнении этого сценария миграции см. на следующих ресурсах, которые были разработаны для поддержки реального проекта миграции.
Название/ссылка | 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.
Следующие шаги
Чтобы проверить доступность служб, которые применяются к SQL Server, см. сведения в центре глобальной инфраструктуры Azure.
Матрицу служб и средств, предоставляемых корпорацией Майкрософт и сторонними разработчиками для оказания помощи с разными сценариями переноса баз данных и данных, а также для специализированных задач, см. в статье Службы и инструменты для переноса данных.
Дополнительные сведения о сервере Azure SQL Server см. в следующих разделах.
Структура и цикл внедрения миграций в облако подробнее описаны следующих статьях.
Сведения о лицензировании см. в следующих разделах.
Чтобы оценить уровень доступа к приложениям, используйте Data Access Migration Toolkit (предварительная версия).
Дополнительные сведения об A/B-тестировании на уровне доступа к данным см. в статье Обзор Database Experimentation Assistant.