Руководство. Преобразование схемы из Oracle в База данных Azure для PostgreSQL — гибкий сервер

В этом руководстве описано, как преобразовать схемы базы данных Oracle в База данных Azure для PostgreSQL с помощью расширения Visual Studio Code PostgreSQL с Microsoft Foundry для автоматизации и проверки перевода схем.

В нем рассматриваются подключение к исходной базе данных Oracle и целевой базе данных База данных Azure для PostgreSQL, настройка Microsoft Foundry, запуск мастера миграции и проверка созданных артефактов PostgreSQL. Прежде чем начать, убедитесь, что у вас есть сетевой доступ и учетные данные для обоих серверов и развертывания Microsoft Foundry.

Вот что можно ожидать во время преобразования:

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

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

В этом разделе описаны предварительные требования для использования функции преобразования схем Oracle в Базу данных Azure для PostgreSQL в Visual Studio Code перед началом преобразования.

Системные требования

Категория Сведения
Версия Visual Studio Code 1.95.2 или более поздней версии
GitHub Copilot подписка Pro+, Business, Enterprise

Поддержка операционной системы

Операционная система Сведения о поддержке
Windows Только архитектура x64
Linux Архитектура x64
macOS macOS 13+

Требования к целевой базе данных База данных Azure для PostgreSQL

Компонент Требования к версии
База данных Azure для PostgreSQL PostgreSQL версии 15 или более поздней
Временная база данных Сервер База данных Azure для PostgreSQL (гибкая версия)

Требования к модели ИИ

Вам потребуется один из следующих настроенных компонентов ИИ.

Компонент ИИ Версия модели
Microsoft Foundry Развертывание GPT-5.2

конфигурация развертывания Microsoft Foundry

В Microsoft Foundry создайте развертывание, использующее модель gpt-5.2. Имя развертывания — это имя, которое вы выбрали при создании развертывания; оно не обязательно должно совпадать с именем модели.

Конечная точка — это URL-адрес ресурса Microsoft Foundry. Ресурсы Microsoft Foundry используют несколько эквивалентных имён хостов; действителен любой из следующих форматов:

  • https://{your-resource}.services.ai.azure.com
  • https://{your-resource}.openai.azure.com
  • https://{your-resource}.cognitiveservices.azure.com

Замените {your-resource} именем ресурса Microsoft Foundry (например, oracletopg). Если вам нужно вызвать маршрут инференса напрямую, текущий путь в предварительной версии — /openai/responses?api-version=2025-04-01-preview.

Дополнительные сведения о форматах конечных точек и маршрутах инференса см. в разделе Конечные точки для моделей Microsoft Foundry.

Tip

Чтобы маршрутизировать трафик Microsoft Foundry через Azure API Management для централизованного управления, регулирования и наблюдаемости, настройте шлюз ИИ перед ресурсом Foundry и используйте URL-адрес шлюза в качестве конечной точки. Дополнительные сведения см. в разделе "Настройка шлюза ИИ" в ресурсах Foundry.

Необходимые привилегии базы данных

Перед выполнением преобразования схемы убедитесь, что используемые учетные записи имеют минимальные необходимые привилегии как в исходной базе данных Oracle, так и на гибком сервере с нуля База данных Azure для PostgreSQL. Для учетной записи Oracle требуется доступ на чтение к данным и представлениям словаря, чтобы средство может анализировать схему и код. Учетная запись База данных Azure для PostgreSQL с нуля должна иметь возможность создавать схемы, таблицы и другие объекты для проверки. Используйте выделенную учетную запись службы по возможности. Следуйте принципу наименьших привилегий. Согласуйте с вашими администраторами баз данных предоставление всех необходимых временных расширенных прав и проверьте подключение и наличие доступа перед началом преобразования.

Исходные привилегии Oracle

В исходной базе данных Oracle требуются следующие минимальные привилегии:

Привилегия Purpose
CONNECT Базовое подключение к базе данных
SELECT_CATALOG_ROLE Доступ к представлениям словаря данных
ВЫБОР ЛЮБОГО СЛОВАРЯ Чтение системных метаданных и объектов словаря
ВЫБЕРИТЕ SYS.ARGUMENT$ Доступ к сведениям о процедурах и аргументах функции

Удаление привилегий базы данных

На гибком сервере База данных Azure для PostgreSQL (с нуля база данных) требуются следующие привилегии:

Привилегия Purpose
СОЗДАТЬ СХЕМУ Создание схем проверки
СОЗДАЙТЕ НА БАЗЕ ДАННЫХ Создание объектов базы данных для проверки
ПРЕДОСТАВИТЬ ПРАВО ПОДКЛЮЧЕНИЯ К БАЗЕ ДАННЫХ Разрешения подключения для процессов проверки

Требования к сети

  • Исходящие подключения: конечные точки Microsoft Foundry.
  • Подключение к базе данных: как для исходной Oracle, так и для целевого гибкого сервера База данных Azure для PostgreSQL.
  • Доступ по HTTPS: магазин расширений Visual Studio Code и сервисы GitHub Copilot.
  • доступ к репозиторию GitHub: https://github.com/microsoft/pgsql-tools/.

Oracle Instant Client (для режима толстого клиента)

Средство преобразования схем подключается к Oracle с помощью тонкого клиентского режима по умолчанию, который не требует дополнительного программного обеспечения. Если для вашей среды требуется толстый клиентский режим, установите Oracle Instant Client на компьютере, на котором выполняется Visual Studio Code. Инструмент считывает вашу конфигурацию sqlnet.ora и tnsnames.ora и автоматически переключается в полнофункциональный режим, если этого требует настройка.

Вы можете определить, требуется ли толстый клиентский режим, проверив файлы конфигурации сети Oracle в исходной среде. Найдите следующие параметры в sqlnet.ora файле (обычно расположен в $ORACLE_HOME/network/admin/):

Parameter Указывает, что требуется толстый режим
SQLNET.CRYPTO_CHECKSUM_CLIENT Установите значение REQUIRED или REQUESTED для собственного сетевого шифрования
SQLNET.ENCRYPTION_CLIENT Установите значение REQUIRED или REQUESTED для собственного сетевого шифрования

аутентификация Microsoft Foundry

Настройте один из следующих методов проверки подлинности для Microsoft Foundry:

Метод аутентификации Requirements
Ключ API URL-адрес и ключ API конечной точки Microsoft Foundry.
Microsoft Entra ID В расширении Azure Account выполнен вход, для ресурса Microsoft Foundry назначена роль Foundry User (ранее — пользователь Azure AI).

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

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

Шаг 1. Установка расширения PostgreSQL Visual Studio Code

  1. Откройте код Visual Studio.

  2. Перейдите в представление расширений (Ctrl+Shift+X).

  3. Найдите PostgreSQL и установите расширение PostgreSQL опубликовано Microsoft.

    1. Marketplace – скачивание

    Снимок экрана: установка расширения PostgreSQL в Visual Studio Code.

Шаг 2. Создайте подключение к База данных Azure для PostgreSQL

  1. На панели расширения PostgreSQL создайте подключение к экземпляру База данных Azure для PostgreSQL гибкого сервера.

  2. Введите сведения о подключении (узел, база данных, имя пользователя, пароль).

  3. Проверьте и сохраните подключение.

    Снимок экрана: добавление нового подключения База данных Azure для PostgreSQL.

Шаг 3. Открытие новой рабочей области

  1. Создайте новую папку на локальном компьютере для проекта миграции.

  2. Откройте папку как рабочую область new в Visual Studio Code.

    Снимок экрана: добавление новой рабочей области в Visual Studio Code.

Шаг 4. Инициализация проекта миграции

  1. Откройте расширение PostgreSQL.

  2. Перейдите на панель "Миграции ".

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

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

Шаг 5. Настройка параметров проекта

  1. В мастере миграции введите имя проекта.

  2. Выберите Далее для продолжения.

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

Шаг 6. Настройка подключения Oracle

  1. Введите сведения о подключении Oracle:

    • Имя узла или сервера.
    • Номер порта.
    • Имя базы данных или службы.
    • Имя пользователя и пароль.

    Инструмент автоматически выбирает режим тонкого или толстого клиента на основе ваших настроек sqlnet.ora и tnsnames.ora; в пользовательском интерфейсе нет возможности выбрать его вручную. Тонкий режим используется по умолчанию. Если для вашего sqlnet.ora требуется толстый режим, убедитесь, что Oracle Instant Client установлен и что его путь указан в переменной среды PATH, прежде чем продолжить. Дополнительные сведения см. в статье Oracle Instant Client.

  2. Выберите "Загрузить схемы". Средство проверяет подключение к Oracle и, если оно установлено успешно, выводит список всех определённых пользователем схем, доступных в Oracle.

  3. Выберите одну или несколько схем для преобразования в PostgreSQL.

  4. Выберите Далее для продолжения.

    Снимок экрана: настройка сервера Oracle.

Шаг 7. Настройка базы данных База данных Azure для PostgreSQL с нуля

  1. Выберите подключение База данных Azure для PostgreSQL, определенное в расширении PostgreSQL.

  2. Выберите целевую базу данных из раскрывающегося списка.

  3. Выберите Далее для продолжения.

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

Шаг 8. Настройка языковой модели Microsoft Foundry

  1. Введите данные Microsoft Foundry:

    • URL конечной точки.
    • Имя развертывания (имя, назначенное развертыванию в Microsoft Foundry; базовая модель должна быть gpt-5.2).
  2. Выберите метод проверки подлинности:

    • ключ API. Введите ключ API для развертывания Microsoft Foundry.
    • Идентификатор Microsoft Entra: войдите с помощью расширения учетной записи Azure. Инструмент автоматически получает токен проверки подлинности. Убедитесь, что учетная запись, под которой выполнен вход, имеет роль Foundry User (ранее Azure AI User) для ресурса Microsoft Foundry. Дополнительные сведения см. в разделе Управление доступом на основе ролей для Microsoft Foundry.
  3. Выберите "Проверить подключение", чтобы проверить конфигурацию.

  4. После успешного подключения выберите Create Migration Project.

    Снимок экрана: конфигурация языковой модели.

Шаг 9. Запуск преобразования схемы

  1. Система переходит в главное окно Мастера миграции.

  2. Выберите Migrate, чтобы запустить процесс конвертации схемы.

  3. Отслеживайте ход преобразования в интерфейсе Visual Studio Code.

    Снимок экрана: ход выполнения шага миграции.

Шаг 10. Просмотр отчета о преобразовании схемы

  1. После завершения преобразования схемы средство создает отчет о преобразовании схемы.
  2. Просмотрите объекты, которые были успешно преобразованы, и пропущенные объекты.
  3. В отчете отображается процент успешного выполнения преобразования.

Шаг 11. Просмотр и уточнение задач преобразования

  1. После завершения преобразования схемы средство создает задачи проверки для объектов, которым требуется внимание.
  2. Используйте режим GitHub агент Copilot для устранения задач или вручную преобразуйте схемы в PostgreSQL.
  3. Сравните предыдущие и недавно преобразованные инструкции преобразования схемы.
  4. Дополнительные сведения о приоритетах задач, созданных файлах SQL и выходных папках, см. в статье "Просмотр задач и выходных папок" для Oracle для База данных Azure для PostgreSQL преобразования гибкой схемы сервера.

Шаг 12. Проверка преобразованных объектов перед развертыванием

  1. Независимо проверяйте все преобразованные объекты в непроизводственных средах.
  2. Убедитесь, что зависимости, ограничения и репрезентативные рабочие нагрузки работают должным образом.
  3. Просмотрите разрешения для всех задач проверки и повторите проверку после изменений.

Important

Ответственность за валидацию клиентских данных: тот же механизм ИИ, используемый для преобразования схемы, также может помочь в проверке и ревизии. Системы искусственного интеллекта иногда могут подтвердить свои собственные ошибки. Чтобы предотвратить потерю данных, функциональные регрессии или проблемы безопасности, независимо проверяйте все преобразованные объекты и разрешения задач проверки перед развертыванием в рабочей среде. В рамках элементов управления рекомендуется включить фильтрацию содержимого Microsoft Foundry, чтобы снизить вредные или нежелательные выходные данные. Инструкции см. в разделе Content filtering for Microsoft Foundry Models.

Дополнительные сведения о расширении Visual Studio Code см. в расширении PostgreSQL для Visual Studio Code и Курсора.