Миграция Oracle в PostgreSQL

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

Important

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

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

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

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

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

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

Если раздел Миграции (предварительная версия) не отображается на боковой панели, проверьте параметр:

  1. Откройте параметры VS Code (CTRL+, на Windows/Linux, Cmd+, в macOS).
  2. Найдите pgsql.enableMigrations.
  3. Убедитесь, что значение равно true.

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

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

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

  1. Откройте представление миграции (предварительная версия) на боковой панели.

  2. Выберите кнопку + на панели инструментов представления или щелкните правой кнопкой мыши папку рабочей области в обозревателе и выберите Создать проект миграции.

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

    • Сведения о подключении для базы данных-источника
    • Имя преобразуемых схем
    • URL-адрес конечной точки и ключ для ресурса Microsoft Foundry
    • Имя подключения для существующего экземпляра 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. Вы также можете выбрать "Проверить расширения" , чтобы выполнить проверку вручную. Если какие-либо расширения отсутствуют, на странице приводится их список, а также рекомендации по добавлению их в список разрешённых и установке в документации по гибкому серверу База данных Azure для PostgreSQL.
  4. Выберите Далее: Конфигурация модели Microsoft Foundry.

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

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

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

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

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

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

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