Миграция Oracle в PostgreSQL

Расширение PostgreSQL для Visual Studio Code предоставляет комплексный рабочий процесс для переноса баз данных Oracle в PostgreSQL. В интерактивном мастере описано, как подключиться к источнику Oracle, выбрать схемы, настроить модель Microsoft Foundry для преобразования DDL с поддержкой ИИ и выбрать базу данных с нуля PostgreSQL для проверки. После создания проекта панель мониторинга отслеживает извлечение, преобразование, экспорт и проверку в одном представлении.

Important

Рабочий процесс миграции Oracle в PostgreSQL доступен только в Visual Studio Code.

Как схема и преобразование приложений соответствуют друг другу

Расширение преобразует рабочую нагрузку Oracle в два прохода. Преобразование схемы выполняется сначала и создает язык определения данных PostgreSQL (DDL) для объектов базы данных. Преобразование приложений выполняется после этого и обновляет код, вызывающий эти объекты.

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

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

  • Файлы PostgreSQL .sql уровня объекта, упорядоченные по схеме и типу объектов Oracle.
  • Отчет о преобразовании, который записывает преобразованные объекты, которые были пропущены, и общий показатель успешности.
  • Просмотрите задачи для объектов, которым требуется человеческое решение, например резервное DDL или поведение, которое отличается от Oracle и PostgreSQL.
  • Заметки о коде, описывающие шаблоны Oracle, найденные в схеме, и как они сопоставляются с PostgreSQL.

Преобразование приложений

Преобразование приложений предназначено для конкретного кода Oracle, который окружает базу данных: скрипты SQL, вызовы хранимых процедур, файлы управления загрузчиком, скрипты оболочки и файлы Java. Он принимает заметки по коду из преобразования схемы в качестве входных данных, поэтому преобразованный код приложения строки с именами объектов, типами и соглашениями о вызовах, которые преобразование схемы фактически производится.

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

Последовательность двух проходов

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

Необходимые условия

Прежде чем начать, убедитесь, что у вас есть следующее:

  • установлен Visual Studio Code.
  • Установленное расширение PostgreSQL .
  • Доступ к базе данных-источнику Oracle с разрешениями на чтение для извлечения схемы.
  • Гибкий сервер База данных Azure для PostgreSQL для использования в качестве базы данных проверки с нуля. Преобразование схемы не поддерживает Azure HorizonDB в качестве базы данных с нуля.
  • Ресурс Microsoft Foundry с развернутой gpt-5.2 моделью. Вам нужен URL-адрес конечной точки и ключ API или учетная запись Microsoft Entra ID с доступом.

Проверка включения функции миграции

Параметр pgsql.enableMigrations управляет представлением "Миграции" и всеми командами миграции. Этот флажок устанавливается по умолчанию.

Если представление "Миграции" не отображается на боковой панели, откройте параметры Visual Studio Code (CTRL+, на Windows/Linux, Cmd+, в macOS) и убедитесь, что pgsql.enableMigrations задано значение true.

Создание проекта миграции

Проект миграции — это мастер из четырёх шагов, который запрашивает исходные и целевые данные, а также параметры ИИ перед созданием рабочего пространства проекта.

Шаг 1. Настройка Project

  1. Откройте представление "Миграции " на боковой панели.

  2. Запустите новый проект одним из следующих способов:

    • Если рабочая область еще не содержит project миграции, нажмите кнопку "Создать миграцию Project" в представлении.
    • Нажмите кнопку + на панели инструментов представления.
    • Щелкните правой кнопкой мыши папку рабочей области в обозревателе и выберите "Открыть Project миграции".

    Откроется страница New Oracle to База данных Azure для PostgreSQL migration project, на которой перечислено то, что вам потребуется:

    • Сведения о подключении для базы данных-источника
    • Имена схем для преобразования
    • URL-адрес конечной точки и ключ для ресурса Microsoft Foundry
    • Имя подключения для существующего экземпляра База данных Azure для PostgreSQL
  3. Введите название в поле Project Name.

  4. Нажмите кнопку "Далее": Oracle Connection.

Снимок экрана: страница нового проекта миграции с полем «Имя проекта».

Шаг 2. Подключение к Oracle

Страница Connect to Oracle собирает учетные данные базы данных источника Oracle и позволяет загружать схемы.

  1. Заполните поля подключения Oracle:

    Поле Описание
    Имя узла Oracle Имя узла или IP-адрес сервера базы данных Oracle.
    Порт Oracle Порт прослушивателя (по умолчанию: 1521).
    SID Oracle или имя службы SID Oracle или имя службы для экземпляра базы данных.
    Имя пользователя Oracle Пользователь базы данных с доступом на чтение к объектам схемы.
    Пароль Oracle Пароль для пользователя Oracle.
  2. Выберите "Загрузить схемы" , чтобы подключиться и получить список доступных схем.

  3. В раскрывающемся списке "Схемы" выберите одну или несколько схем для переноса.

  4. Нажмите кнопку Далее: Подключение PostgreSQL.

Шаг 3. Выберите временную базу данных База данных Azure для PostgreSQL

На странице Выбор временной базы данных База данных Azure для PostgreSQL выбирается экземпляр База данных Azure для PostgreSQL, который модель ИИ использует для проверки преобразованных файлов DDL.

Замечание

Используйте выделенную базу данных с нуля для проверки. Расширение может выполнять преобразованное DDL для этой базы данных во время процесса преобразования.

  1. В раскрывающемся списке подключений PostgreSQL выберите существующий профиль подключения. Если нужное подключение не указано, выберите "Обновить профили ", чтобы перезагрузить доступные профили, или сначала создайте новое соединение в представлении "Подключения и удостоверения ".
  2. В раскрывающемся списке базы данных PostgreSQL выберите целевую базу данных. Выберите "Загрузить базы данных" , если список пуст.
  3. После выбора базы данных расширение автоматически проверяет, установлены ли рекомендуемые расширения PostgreSQL. Вы также можете выбрать "Проверить расширения" , чтобы выполнить проверку вручную. Если какие-либо расширения отсутствуют, страница перечисляет их и приводит инструкции по добавлению в список разрешённых и установке.
  4. Выберите Далее: Конфигурация модели Microsoft Foundry.

Шаг 4. Настройка модели Microsoft Foundry

На странице "Выбор модели" Microsoft Foundry настраивается развертывание Microsoft Foundry, которое обеспечивает преобразование схемы и кода.

  1. Заполните поля языковой модели:

    Поле Описание
    Имя модели gpt-5.2.
    Конечная точка доступа Microsoft Foundry URL-адрес конечной точки ресурса Microsoft Foundry (например, https://<resource>.openai.azure.com/).
    Метод проверки подлинности Выберите ключ API или идентификатор Microsoft Entra.
    Ключ API Microsoft Foundry Ключ API для ресурса Microsoft Foundry (показано, когда метод проверки подлинностиключ API).
    Учетная запись Azure Учётная запись Microsoft с доступом к ресурсу (отображается, когда Метод проверки подлинностиMicrosoft Entra ID).
    Съёмщик Microsoft Entra клиента для учетной записи (показано, когда метод проверки подлинности Microsoft Entra идентификатор).
    Имя развертывания Имя развернутой модели в ресурсе Microsoft Foundry.
  2. Выберите Проверить подключение Microsoft Foundry, чтобы проверить подключение.

  3. Выберите Create Migration Project.

Tip

Microsoft Foundry рекомендует 500 000 TPM (токены в минуту) для оптимальной производительности миграции.

Запуск миграции схемы

После создания проекта откроется панель управления Oracle Migration. На панели мониторинга отображаются карточки "Миграция схемы " и " Проверка схемы ", а также аккордеон "Параметры ", который суммирует конфигурацию проекта.

Извлечение и преобразование схем

Карточка Schema Migration (Шаг 1) запускает извлечение, преобразование и экспорт как единый непрерывный конвейер.

  1. На карточке Миграция схемы выберите Перенести.

    Текст кнопки обновляется по мере выполнения конвейера:

    Статус Метка кнопки
    Извлечение выполняется Извлечение...
    Извлечение завершено, преобразование ожидается Возобновление миграции
    Идёт преобразование Преобразование...
    Все этапы завершены Завершение миграции
  2. Отслеживайте прогресс в развернутой карточке:

    • Извлечение показывает количество извлеченных объектов (например, "15 из 42 извлеченных объектов") и текущую схему и обрабатываемый объект.
    • Преобразование показывает количество преобразованных блоков (например, "3 из 8 преобразуемых блоков") и текущий блок, обрабатываемый.
  3. После завершения экспорта выберите просмотреть отчет о миграции , чтобы открыть созданный отчет о миграции.

Просмотреть задачи миграции

Карточка проверки схемы (шаг 2) отображает элементы, требующие ручного внимания после преобразования. Переключатель группированных / задач в верхней части области проверки позволяет выбрать способ работы с списком.

Сгруппированные представления

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

  1. На карточке Проверка схемы выберите Проверка, чтобы развернуть область проверки, а затем выберите Сгруппировано.

  2. Используйте вкладки "Ожидающие " и "Разрешенные " для переключения между задачами, которые по-прежнему нуждаются в внимания и задачах, которые уже утверждены.

  3. Разверните группу, чтобы просмотреть ее метаданные (схемы, типы объектов, критичность) и отдельные карточки задач внутри нее.

  4. Используйте действия уровня группы для массовой обработки задач:

    Действие Описание
    Выполнить все Откройте все незавершённые задачи в группе в режиме Copilot Agent Mode для проверки с помощью ИИ.
    Устранить все Пометьте все задачи в группе как разрешенные. Диалоговое окно подтверждения показывает имя группы и число задач перед продолжением.
    Сбросить все Верните все решённые задачи в группе в состояние «В ожидании». Доступно на вкладке "Разрешено ".
    Просмотр в задачах Переключитесь на плоское представление Задачи с фильтром по этой группе.
  5. Чтобы выполнить одну задачу внутри группы, выберите "Выполнить задачу", чтобы открыть ее в режиме агента Copilot, или нажмите кнопку "Разрешить", чтобы пометить ее завершение. Выберите «Сброс» для задачи со статусом «Решено», чтобы вернуть её в состояние ожидания.

Замечание

Выполнить все и Сбросить все недоступны, если группа содержит более 800 задач.

Просмотр задач

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

  1. Выберите "Задачи " в переключателе.
  2. Чтобы сузить список задач, используйте раскрывающийся список фильтров (состояние, критичность, тип объекта, схема).
  3. Выберите "Выполнить задачу" на ожидающем элементе, чтобы открыть его в режиме агента Copilot для проверки и исправления с помощью ИИ.
  4. Исправив элемент, выберите Решить, чтобы отметить его как завершенный.

Tip

Выберите "Просмотреть журналы " на панели мониторинга, чтобы проверить файлы журналов извлечения и преобразования для устранения неполадок.

Перенос кода приложения

После миграции схемы преобразуйте код приложения, зависящий от Oracle (скрипты SQL, хранимые процедуры, файлы управления загрузчиком, скрипты оболочки или файлы Java) в эквиваленты, совместимые с PostgreSQL. Миграция приложений — это предварительная версия функции.

Выбор метода миграции

Расширение предлагает два пути для миграции кода приложения:

  • Полная модернизация приложений. Если установить расширение модернизации GitHub приложение Copilot, выберите "Миграция с помощью модернизации приложения", чтобы продолжить миграцию с заметками о кодировании из преобразования схемы. Выберите "Просмотреть заметки по написанию кода ", чтобы просмотреть созданные рекомендации, прежде чем продолжить.
  • Вариант только для базы данных: чтобы преобразовать только код приложения, связанного с базой данных, в рамках этого расширения выберите "Миграция" с помощью расширения PostgreSQL.

Преобразовать код приложения в расширении

  1. На карточке миграции приложений выберите "Миграция данных " (или "Выбрать метод ", если обнаружено расширение модернизации приложения).
  2. На странице "Преобразовать приложение" выберите "Выбрать приложение Oracle для преобразования " и выберите папку, содержащую код приложения Oracle.
  3. Выберите подключение PostgreSQL и базу данных PostgreSQL для контекста преобразования.
  4. Выберите "Загрузить базы данных" , если список баз данных пуст.
  5. Выберите "Преобразовать приложение", чтобы начать преобразование.

Использование средств Copilot для миграции приложений

Расширение регистрирует два средства языковой модели Copilot для помощи по миграции:

  • Oracle Client Code Application Converter (pgsql_migration_oracle_app): преобразует код клиентского приложения Oracle в эквиваленты PostgreSQL с помощью шаблонов запросов и руководства по написанию кода из анализа миграции схем. Принимает следующие параметры:

    • Папка Application Codebase (обязательно): расположение кода для преобразования.
    • Путь к расположению заметок кода (необязательно): Путь к написанию заметок из миграции схемы.
    • Имя базы данных Postgres ( необязательно): имя базы данных PostgreSQL для контекста преобразования.
    • Подключение Postgres DB (необязательно): имя подключения для базы данных PostgreSQL.
  • Отображение отчета о миграции Oracle в Postgres (pgsql_migration_show_report): отображает отчет о миграции, созданный преобразованием схемы. Требуется параметр Путь к файлу отчета.

Дополнительные сведения об использовании инструментов Copilot см. в разделе Интеграция Copilot.

Сравнение преобразованных файлов

После преобразования просмотрите изменения параллельно с помощью встроенных команд диффа.

  1. В обозревателе щелкните правой кнопкой мыши преобразованный SQL-файл в папке oracle или postgres в проекте миграции и выберите Сравнить пары файлов миграции DDL.
  2. Для преобразованных файлов кода приложения (.sql, , .ctl.shили.load.java) щелкните правой кнопкой мыши файл и выберите "Сравнить пары файлов миграции приложений".

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

Замечание

Файлы DDL должны соответствовать структуре folder/oracle|postgres/SCHEMA_NAME/DDL-TYPE/filename.sql для команды сравнения, чтобы найти соответствующую пару файлов.

Управление проектами миграции

Используйте представление "Миграции " на боковой панели для управления проектами:

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