자습서: Oracle에서 Azure Database for PostgreSQL 유연한 서버로 스키마 변환

이 자습서에서는 Microsoft Foundry와 함께 Visual Studio Code PostgreSQL 확장을 사용하여 Oracle 데이터베이스 스키마를 Azure Database for PostgreSQL 변환하여 스키마 변환을 자동화하고 유효성을 검사하는 방법을 안내합니다.

Oracle 원본 및 Azure Database for PostgreSQL 대상에 연결하고, Microsoft Foundry를 구성하고, 마이그레이션 마법사를 실행하고, 생성된 PostgreSQL 아티팩트 검토를 다룹니다. 시작하기 전에 서버와 Microsoft Foundry 배포 모두에 대한 네트워크 액세스 및 자격 증명이 있는지 확인합니다.

변환 중에 기대할 수 있는 항목은 다음과 같습니다.

  • 스키마 검색: 도구는 Oracle 스키마 개체를 분석합니다.
  • AI 처리: Microsoft Foundry는 호환되는 개체를 처리하고 변환합니다.
  • 유효성 검사: 변환된 개체는 스크래치 데이터베이스에서 유효성을 검사합니다.
  • 검토 작업: 수동으로 확인이 필요한 항목은 플래그로 표시됩니다.
  • 출력 생성: 성공적으로 변환된 개체가 PostgreSQL 파일로 저장됩니다.

사전 요구 사항

이 섹션에서는 변환을 시작하기 전에 Visual Studio Code에서 Oracle을 Azure Database for PostgreSQL 스키마 변환 기능을 사용하기 위한 필수 구성 요소를 설명합니다.

시스템 요구 사항

카테고리 세부 정보
Visual Studio Code 버전 1.95.2 이상
GitHub Copilot 구독 Pro+, Business, Enterprise

운영 체제 지원

운영 체제 지원 세부 정보
Windows x64 아키텍처만
Linux x64 아키텍처
macOS macOS 13 이상

대상 Azure Database for PostgreSQL 요구 사항

Component 버전 요구 사항
PostgreSQL용 Azure 데이터베이스 PostgreSQL 버전 15 이상
스크래치 데이터베이스 유연한 서버 Azure Database for PostgreSQL

AI 모델 요구 사항

다음 AI 구성 요소 중 하나를 구성해야 합니다.

AI 구성 요소 모델 버전
Microsoft Foundry GPT-5.2 배포

Microsoft Foundry 배포 구성

Microsoft Foundry에서 gpt-5.2 모델을 사용하는 배포를 만듭니다. 배포 이름은 배포를 만들 때 선택한 이름입니다. 모델 이름과 일치하지 않아도 됩니다.

엔드포인트는 Microsoft Foundry 리소스 URL입니다. 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

중앙 집중식 거버넌스, 제한 및 관찰성을 위해 Azure API Management 통해 Microsoft Foundry 트래픽을 라우팅하려면 Foundry 리소스 앞에서 AI 게이트웨이를 구성하고 게이트웨이 URL을 엔드포인트로 사용합니다. 자세한 내용은 Foundry 리소스에서 AI Gateway 구성을 참조하세요.

필수 데이터베이스 권한

스키마 변환을 실행하기 전에 사용하는 계정에 원본 Oracle 데이터베이스와 스크래치 Azure Database for PostgreSQL 유연한 서버 모두에서 필요한 최소 권한이 있는지 확인합니다. 도구에서 스키마와 코드를 분석할 수 있도록 Oracle 계정에는 데이터 및 사전 보기에 대한 읽기 권한이 필요합니다. Azure Database for PostgreSQL 스크래치 계정은 유효성 검사를 위해 스키마, 테이블 및 기타 개체를 만들 수 있어야 합니다. 가능한 경우 전용 서비스 계정을 사용합니다. 최소 권한 원칙을 따릅니다. DBA와 조정하여 임시 상승된 권한을 부여하고 변환을 시작하기 전에 연결 및 액세스의 유효성을 검사합니다.

원본 Oracle 권한

원본 Oracle 데이터베이스에는 다음과 같은 최소 권한이 필요합니다.

특권 Purpose
CONNECT 기본 데이터베이스 연결
SELECT_CATALOG_ROLE 데이터 사전 보기에 대한 액세스
아무 사전이나 선택 시스템 메타데이터 및 사전 개체 읽기
고르다 SYS.ARGUMENT$ 프로시저 및 함수 인수 정보에 대한 액세스

스크래치 데이터베이스 권한

Azure Database for PostgreSQL 유연한 서버(스크래치 데이터베이스)에는 다음 권한이 필요합니다.

특권 Purpose
스키마 생성 유효성 검사 스키마 만들기
데이터베이스에서 생성하기 유효성 검사를 위한 데이터베이스 개체 만들기
데이터베이스에 연결 권한 부여 유효성 검사 프로세스에 대한 연결 권한

네트워크 요구 사항

  • 아웃바운드 연결: Microsoft Foundry 엔드포인트입니다.
  • 데이타베이스 연결: 원본 Oracle과 대상 Azure Database for PostgreSQL 유연한 서버입니다.
  • HTTPS를 통한 액세스: Visual Studio Code Extensions Marketplace 및 GitHub Copilot 서비스
  • GitHub 리포지토리 액세스: https://github.com/microsoft/pgsql-tools/.

Oracle 인스턴트 클라이언트(두꺼운 클라이언트 모드의 경우)

스키마 변환 도구는 기본적으로 씬 클라이언트 모드를 사용하여 Oracle에 연결하므로 추가 소프트웨어가 필요하지 않습니다. 환경에 두꺼운 클라이언트 모드가 필요한 경우 Visual Studio Code 실행되는 컴퓨터에 Oracle Instant Client를 설치합니다. 도구는 사용자 sqlnet.oratnsnames.ora 구성을 읽고 설정에 필요한 경우 자동으로 굵게 모드로 전환합니다.

원본 환경에서 Oracle 네트워크 구성 파일을 확인하여 두꺼운 클라이언트 모드가 필요한지 여부를 확인할 수 있습니다. 파일 sqlnet.ora에서 매개 변수를 찾습니다(일반적으로 $ORACLE_HOME/network/admin/에 있음).

매개 변수 굵은 모드가 필요했음을 나타냅니다.
SQLNET.CRYPTO_CHECKSUM_CLIENT REQUIRED 또는 REQUESTED로 네이티브 네트워크 암호화를 설정하십시오.
SQLNET.ENCRYPTION_CLIENT REQUIRED 또는 REQUESTED로 네이티브 네트워크 암호화를 설정하십시오.

Microsoft Foundry 인증

Microsoft Foundry에 대해 다음 인증 방법 중 하나를 구성합니다.

인증 방법 Requirements
API 키 Microsoft Foundry 엔드포인트 URL 및 API 키
Microsoft Entra ID Azure 계정 확장이 로그인되었으며, Microsoft Foundry 리소스에 Foundry 사용자 역할(이전 명칭: Azure AI 사용자)이 할당되었습니다.

마이그레이션 프로세스

이 섹션에서는 전체 마이그레이션 워크플로를 안내합니다. PostgreSQL 확장을 설치하고, Oracle 원본 및 Azure Database for PostgreSQL 대상에 대한 연결을 만들고 테스트하고, 마이그레이션 프로젝트를 열어 초기화하고, 스키마 변환을 위해 Microsoft Foundry를 구성하고, 마이그레이션 마법사를 실행하여 스키마를 검색하고 변환하며, 스크래치 데이터베이스에서 변환된 개체의 유효성을 검사하고, 생성된 PostgreSQL 아티팩트를 대상에 적용하기 전에 플래그가 지정된 항목을 검토하거나 수정합니다.

1단계: PostgreSQL Visual Studio Code 확장 설치

  1. Visual Studio 코드를 엽니다.

  2. 확장 보기(Ctrl+Shift+X)로 이동합니다.

  3. PostgreSQL 검색하고 Microsoft 게시한 PostgreSQL 확장을 설치합니다.

    1. Marketplace 다운로드

    Visual Studio Code PostgreSQL 확장을 설치하는 스크린샷

2단계: Azure Database for PostgreSQL 연결 생성

  1. PostgreSQL 확장 패널에서 Azure Database for PostgreSQL 유연한 서버 인스턴스에 대한 연결을 만듭니다.

  2. 연결 세부 정보(호스트, 데이터베이스, 사용자 이름, 암호)를 입력합니다.

  3. 연결을 테스트하고 저장합니다.

    새 Azure Database for PostgreSQL 연결을 추가하는 스크린샷

3단계: 새 작업 영역 열기

  1. 마이그레이션 프로젝트에 대한 새 폴더를 로컬 컴퓨터에 만듭니다.

  2. 폴더를 Visual Studio Code 새 작업 영역로 엽니다.

    Visual Studio Code 새 작업 영역을 추가하는 스크린샷

4단계: 마이그레이션 프로젝트 초기화

  1. PostgreSQL 확장을 엽니다.

  2. 마이그레이션 패널로 이동합니다.

  3. 마이그레이션 프로젝트 만들기를 선택하세요.

    새 마이그레이션 프로젝트를 만드는 스크린샷

5단계: 프로젝트 설정 구성

  1. 마이그레이션 마법사에서 프로젝트 이름을 입력합니다.

  2. 다음을 선택하여 작업을 계속할 수 있습니다.

    프로젝트 이름의 스크린샷.

6단계: Oracle 연결 구성

  1. Oracle 연결 세부 정보를 입력합니다.

    • 호스트 또는 서버 이름입니다.
    • 포트 번호입니다.
    • 데이터베이스 또는 서비스 이름입니다.
    • 사용자 이름 및 암호입니다.

    도구는 사용자 sqlnet.oratnsnames.ora 설정에서 얇거나 두꺼운 클라이언트 모드를 자동으로 선택합니다. UI는 수동 선택기를 노출하지 않습니다. 씬 모드는 기본값으로 사용됩니다. sqlnet.ora에 thick 모드가 필요한 경우, 계속하기 전에 Oracle Instant Client가 설치되어 있고 해당 위치가 환경 변수 PATH에 포함되어 있는지 확인하세요. 자세한 내용은 Oracle 인스턴트 클라이언트를 참조하세요.

  2. 부하 스키마를 선택합니다. 도구는 Oracle 연결을 테스트하고 성공하면 Oracle에서 사용할 수 있는 모든 사용자 정의 스키마를 나열합니다.

  3. 하나 이상의 스키마를 선택하여 PostgreSQL로 변환합니다.

  4. 다음을 선택하여 작업을 계속할 수 있습니다.

    Oracle 서버 구성 스크린샷

7단계: Azure Database for PostgreSQL 임시 데이터베이스 구성

  1. PostgreSQL 확장에서 정의한 Azure Database for PostgreSQL 연결을 선택합니다.

  2. 드롭다운 목록에서 대상 데이터베이스 를 선택합니다.

  3. 다음을 선택하여 작업을 계속할 수 있습니다.

    스크래치 데이터베이스를 구성하는 스크린샷

8단계: Microsoft Foundry 언어 모델 구성

  1. Microsoft Foundry 세부 정보 입력합니다.

    • 엔드포인트 URL입니다.
    • 배포 이름(Microsoft Foundry의 배포에 할당한 이름, 기본 모델은 gpt-5.2)이어야 합니다.
  2. 인증 방법을 선택합니다.

    • API 키: Microsoft Foundry 배포에 대한 API 키를 입력합니다.
    • Microsoft Entra ID: Azure 계정 확장으로 로그인합니다. 이 도구는 인증 토큰을 자동으로 획득합니다. 로그인한 ID에 Microsoft Foundry 리소스에서 Foundry 사용자 역할(이전의 Azure AI 사용자)이 있는지 확인합니다. 자세한 내용은 Microsoft Foundry의 역할 기반 접근 제어를 참조하세요.
  3. 연결 테스트를 선택하여 구성을 확인합니다.

  4. 연결에 성공한 후 마이그레이션 프로젝트 만들기를 선택하세요.

    언어 모델 구성의 스크린샷.

9단계: 스키마 변환 실행

  1. 시스템은 기본 마이그레이션 마법사로 이동합니다.

  2. 마이그레이션을 선택하여 스키마 변환 프로세스를 시작합니다.

  3. Visual Studio Code 인터페이스에서 변환 진행률을 모니터링합니다.

    마이그레이션 단계 진행률의 스크린샷.

10단계: 스키마 변환 보고서 검토

  1. 스키마 변환이 완료되면 도구는 스키마 변환 보고서를 생성합니다.
  2. 성공적으로 변환된 개체와 건너뛴 개체를 검토합니다.
  3. 보고서에는 변환의 성공률이 표시됩니다.

11단계: 변환 작업 검토 및 구체화

  1. 스키마 변환이 완료되면 도구는 주의가 필요한 개체에 대한 검토 작업을 만듭니다.
  2. GitHub Copilot 에이전트 모드를 사용하여 작업을 해결하거나 스키마를 PostgreSQL로 수동으로 변환합니다.
  3. 이전 스키마 변환 문과 새로 변환된 스키마 변환 문을 비교합니다.
  4. 작업 우선 순위, 생성된 SQL 파일 및 출력 폴더에 대한 자세한 내용은 Oracle에서 유연한 서버 스키마 변환을 Azure Database for PostgreSQL 작업 및 출력 폴더 검토를 참조하세요.

12단계: 배포하기 전에 변환된 개체의 유효성 검사

  1. 비프로덕션 환경에서 변환된 모든 개체의 유효성을 독립적으로 검사합니다.
  2. 종속성, 제약 조건 및 대표 워크로드가 예상대로 작동하는지 확인합니다.
  3. 모든 검토 작업에 대한 해결을 검토하고 변경 후 다시 테스트합니다.

Important

고객 유효성 검사 책임: 스키마 변환에 사용되는 동일한 AI 엔진은 유효성 검사 및 검토에도 도움이 될 수 있습니다. AI 시스템은 때때로 자신의 실수를 확인할 수 있습니다. 데이터 손실, 기능 회귀 또는 보안 문제를 방지하려면 프로덕션 환경에 배포하기 전에 변환된 모든 개체의 유효성을 독립적으로 검사하고 작업 확인을 검토합니다. 컨트롤의 일부로 Microsoft Foundry 콘텐츠 필터링을 사용하도록 설정하여 유해하거나 원치 않는 출력을 줄이는 것이 좋습니다. Microsoft Foundry 모델용 콘텐츠 필터링을 참조하세요.

Visual Studio Code 확장에 대한 자세한 내용은 Visual Studio Code 및 커서용 PostgreSQL 확장을 참조하세요.