Visual Studio Code PostgreSQL 확장은 Oracle 데이터베이스를 PostgreSQL로 마이그레이션하기 위한 엔드투엔드 워크플로를 제공합니다. 안내 마법사는 Oracle 원본에 연결하고, 스키마를 선택하고, AI 지원 DDL 변환을 위한 Microsoft Foundry 모델을 구성하고, 유효성 검사를 위해 PostgreSQL 스크래치 데이터베이스를 선택하는 과정을 안내합니다. 프로젝트를 만든 후 대시보드는 단일 보기에서 추출, 변환, 내보내기 및 검토를 추적합니다.
Important
Oracle-PostgreSQL 마이그레이션 워크플로는 Visual Studio Code만 사용할 수 있습니다.
필수 조건
시작하기 전에 다음 사항을 확인하세요.
- Visual Studio Code 설치되었습니다.
- PostgreSQL 확장이 설치되었습니다.
- 스키마 추출에 대한 읽기 권한이 있는 Oracle 원본 데이터베이스에 액세스합니다.
- 임시 유효성 검사 데이터베이스로 사용할 PostgreSQL 인스턴스(예: Azure Database for PostgreSQL - 유연한 서버)
- 배포된
gpt-5.2모델이 있는 Microsoft Foundry 리소스입니다. 액세스 권한이 있는 엔드포인트 URL과 API 키 또는 Microsoft Entra ID 계정이 필요합니다.
마이그레이션 기능이 사용하도록 설정되어 있는지 확인
이 설정은 pgsql.enableMigrations마이그레이션(미리 보기) 보기 및 모든 마이그레이션 명령을 제어합니다. 이 설정은 기본적으로 사용하도록 설정됩니다.
마이그레이션(미리 보기) 보기가 사이드바에 표시되지 않으면 다음 설정을 확인합니다.
- VS Code 설정을 엽니다(ctrl+, Windows/Linux, cmd+, macOS에서).
-
pgsql.enableMigrations를 검색합니다. - 값이 .인지 확인합니다
true.
마이그레이션 프로젝트 생성
마이그레이션 프로젝트는 프로젝트 작업 영역을 만들기 전에 원본, 대상 및 AI 구성을 수집하는 4단계 마법사입니다.
1단계: Project 설정
사이드바에서 마이그레이션(미리 보기) 보기를 엽니다.
+ 보기 도구 모음에서 단추를 선택하거나 탐색기에서 작업 영역 폴더를 마우스 오른쪽 단추로 클릭하고 마이그레이션 Project 만들기를 선택합니다.
새 Oracle to Azure Database for PostgreSQL 마이그레이션 프로젝트 페이지가 열리고 필요한 항목이 나열됩니다.
- 원본 데이터베이스에 대한 연결 세부 정보
- 변환할 스키마의 이름
- Microsoft Foundry 리소스에 대한 엔드포인트 URL 및 키
- 기존 PostgreSQL 인스턴스의 연결 이름
Project 이름 필드에 이름을 입력합니다.
다음: Oracle 연결을 선택합니다.
2단계: Oracle에 연결
Oracle에 연결 페이지에서 Oracle 원본 데이터베이스 자격 증명을 수집하고 스키마를 로드할 수 있습니다.
Oracle 연결 필드를 완료합니다.
Field Description Oracle 호스트 이름 Oracle 데이터베이스 서버의 호스트 이름 또는 IP 주소입니다. Oracle 포트 수신기 포트(기본값: 1521).Oracle SID 또는 서비스 이름 데이터베이스 인스턴스의 Oracle SID 또는 서비스 이름입니다. Oracle 사용자 이름 스키마 개체에 대한 읽기 권한이 있는 데이터베이스 사용자입니다. Oracle 암호 Oracle 사용자의 암호입니다. 스키마 로드를 선택하여 사용 가능한 스키마 목록을 연결하고 검색합니다.
스키마 드롭다운 목록에서 마이그레이션할 스키마를 하나 이상 선택합니다.
다음: PostgreSQL 연결을 선택합니다.
3단계: Azure Database for PostgreSQL 임시 데이터베이스 선택
Azure Database for PostgreSQL 스크래치 데이터베이스 선택 페이지에서는 AI 모델이 변환된 DDL 파일의 유효성을 검증하는 데 사용하는 PostgreSQL 인스턴스를 선택합니다.
메모
유효성 검사를 위해 전용 스크래치 데이터베이스를 사용합니다. 확장은 변환 프로세스 중에 이 데이터베이스에 대해 변환된 DDL을 실행할 수 있습니다.
- PostgreSQL 연결 드롭다운 목록에서 기존 연결 프로필을 선택합니다. 필요한 연결이 나열되지 않은 경우 프로필 새로 고침 을 선택하여 사용 가능한 프로필을 다시 로드하거나 연결 및 ID 보기에서 새 연결을 먼저 만듭니다.
- PostgreSQL 데이터베이스 드롭다운 목록에서 대상 데이터베이스를 선택합니다. 목록이 비어 있는 경우 데이터베이스 로드 를 선택합니다.
- 데이터베이스를 선택하면 확장에서 권장되는 PostgreSQL 확장이 설치되어 있는지 자동으로 확인합니다. 확장 프로그램 확인을 선택하여 검사를 수동으로 실행할 수도 있습니다. 확장이 누락된 경우 페이지에 해당 확장이 나열되고 Azure Database for PostgreSQL 유연한 서버 설명서를 통해 허용 목록 및 설치에 대한 지침을 제공합니다.
- 다음: Microsoft Foundry 모델 구성을 선택합니다.
4단계: Microsoft Foundry 모델 구성
Microsoft Foundry 모델 선택 페이지에서는 스키마 및 코드 변환을 지원하는 Microsoft Foundry 배포를 구성합니다.
언어 모델 필드를 완료합니다.
Field Description 모델 이름 gpt-5.2;Microsoft Foundry 엔드포인트 Microsoft Foundry 리소스 엔드포인트 URL(예: https://<resource>.openai.azure.com/)입니다.인증 방법 API 키 또는 Microsoft Entra ID를 선택합니다. Microsoft Foundry API 키 Microsoft Foundry 리소스에 대한 API 키입니다(인증 방법이API 키인 경우 표시됨). Azure 계정 리소스에 액세스할 수 있는 Microsoft 계정(인증 방법이 Microsoft Entra ID인 경우 표시됨) 테 넌 트 계정의 Azure AD 테넌트(인증 방법이 Microsoft Entra Id인 경우 표시됨). 배포 이름 Microsoft Foundry 리소스에 배포된 모델의 이름입니다. Microsoft Foundry 연결 테스트를 선택하여 연결을 확인합니다.
마이그레이션 프로젝트 만들기를 선택하세요.
Tip
Microsoft Foundry는 최적의 마이그레이션 성능을 위해 500,000TPM(분당 토큰)을 권장합니다.
스키마 마이그레이션 실행
프로젝트를 만든 후 Oracle 마이그레이션 대시보드가 열립니다. 대시보드에는 프로젝트 구성을 요약하는 설정 아코디언과 함께 스키마 마이그레이션 및 스키마 검토 카드가 표시됩니다.
스키마 추출 및 변환
스키마 마이그레이션 카드(1단계)는 추출, 변환 및 내보내기를 연속 파이프라인으로 실행합니다.
스키마 마이그레이션 카드에서 마이그레이션을 선택합니다.
파이프라인이 진행됨에 따라 단추 레이블이 업데이트됩니다.
상태 단추 레이블 추출 실행 중 추출 중 ... 추출 완료, 변환 보류 중 마이그레이션 다시 시작 변환 진행 중 변환... 모든 단계 완료 마이그레이션 완료 확장된 카드에서 진행률 확인:
- 추출 은 추출된 개체의 수(예: "추출된 42개 개체 중 15개") 및 처리 중인 현재 스키마 및 개체를 보여 줍니다.
- 변환 은 변환된 청크 수(예: "변환된 청크 8개 중 3개") 및 처리 중인 현재 청크를 보여 줍니다.
내보내기가 완료되면 마이그레이션 보고서 보기를 선택하여 생성된 마이그레이션 보고서를 엽니다.
마이그레이션 작업 검토
스키마 검토 카드(2단계)에는 변환 후 수동 주의가 필요한 항목이 표시됩니다. 검토 영역 맨 위에 있는 그룹화된 / 작업 전환기를 사용하여 목록을 통해 작업하는 방법을 선택할 수 있습니다.
그룹화된 보기
그룹화된 보기는 검토 작업을 범주별로 축소 가능한 아코디언 그룹으로 구성합니다. 관련 문제를 함께 처리하려는 경우 이 보기를 사용합니다.
스키마 검토 카드에서 검토를 선택하여 검토 창을 확장한 다음 그룹화됨을 선택합니다.
보류 중 및 해결된 탭을 사용하여 주의가 필요한 작업과 이미 승인한 작업 간에 전환합니다.
그룹을 확장하여 메타데이터(스키마, 개체 형식, 중요도) 및 그 안에 있는 개별 작업 카드를 확인합니다.
그룹 수준 작업을 사용하여 작업을 대량으로 처리합니다.
조치 Description 모두 실행 AI 지원 검토를 위해 Copilot 에이전트 모드에서 그룹의 보류 중인 모든 작업을 엽니다. 모두 해결 그룹의 모든 작업을 확인된 것으로 표시합니다. 계속하기 전에 확인 대화 상자에 그룹 이름 및 작업 수가 표시됩니다. 모두 다시 설정 그룹 내의 해결된 모든 작업을 대기 상태로 반환합니다. 해결된 탭에서 사용할 수 있습니다. Tasks에서 보기 이 그룹으로 필터링된 단일 작업 보기로 전환합니다. 그룹 내의 단일 작업을 수행하려면 작업 실행을 선택하여 Copilot 에이전트 모드에서 열거나 해결을 선택하여 완료를 표시합니다. 해결된 작업에서 재설정을 선택하면 대기 상태로 돌아갑니다.
메모
모두 해결 하면 그룹에 800개 이상의 작업이 포함된 경우 모두 다시 설정 이 비활성화됩니다.
작업 보기
작업 보기에는 플랫 테이블의 모든 검토 작업이 표시됩니다. 그룹에 관계없이 모든 작업에서 정렬, 필터링 또는 검색하려는 경우 이 보기를 사용합니다.
- 전환 메뉴에서 작업을 선택합니다.
- 필터 드롭다운(상태, 중요도, 개체 유형, 스키마)을 사용하여 작업 목록의 범위를 좁힐 수 있습니다.
- 보류 중인 항목에서 작업 실행을 선택하여 AI 지원 검토 및 수정을 위해 Copilot 에이전트 모드에서 엽니다.
- 항목을 수정한 후 해결 을 선택하여 완료를 표시합니다.
Tip
대시보드에서 로그 보기를 선택하여 문제 해결을 위해 추출 및 변환 로그 파일을 검사합니다.
애플리케이션 코드 마이그레이션
스키마 마이그레이션 후 Oracle 관련 애플리케이션 코드(SQL 스크립트, 저장 프로시저, 로더 컨트롤 파일, 셸 스크립트 또는 Java 파일)를 PostgreSQL 호환 파일로 변환합니다. 애플리케이션 마이그레이션은 미리 보기 기능입니다.
마이그레이션 방법 선택
확장은 애플리케이션 코드 마이그레이션을 위한 두 가지 경로를 제공합니다.
- 전체 앱 현대화 - GitHub Copilot 앱 현대화 확장이 설치된 경우 앱 현대화를 사용하여 마이그레이션을 선택하여 스키마 변환의 코딩 메모를 사용하여 마이그레이션을 계속합니다. 계속하기 전에 생성된 지침을 검토하려면 코딩 노트 보기를 선택합니다.
- 데이터베이스 전용 옵션 - 이 확장 내에서 데이터베이스 관련 애플리케이션 코드만 변환하려면 PostgreSQL 확장을 사용하여 마이그레이션을 선택합니다.
확장 내에서 애플리케이션 코드 변환
- 애플리케이션 마이그레이션 카드에서 데이터 마이그레이션(또는 앱 현대화 확장이 검색된 경우 메서드 선택)을 선택합니다.
- 애플리케이션 변환 페이지에서 변환할 Oracle 애플리케이션 선택을 선택하고 Oracle 애플리케이션 코드가 포함된 폴더를 선택합니다.
- 변환 컨텍스트에 대해 PostgreSQL 연결 및 PostgreSQL 데이터베이스 를 선택합니다.
- 데이터베이스 목록이 비어 있는 경우 데이터베이스 로드 를 선택합니다.
- 변환을 시작하려면 애플리케이션 변환을 선택합니다.
애플리케이션 마이그레이션에 Copilot 도구 사용
확장은 마이그레이션 지원을 위해 두 Copilot 언어 모델 도구를 등록합니다.
Oracle 클라이언트 코드 애플리케이션 변환기 (
pgsql_migration_oracle_app) - 프롬프트 템플릿 및 스키마 마이그레이션 분석의 코딩 지침을 사용하여 Oracle 클라이언트 애플리케이션 코드를 PostgreSQL 등가물로 변환합니다. 다음 매개 변수를 허용합니다.- 애플리케이션 코드베이스 폴더 (필수) - 변환할 코드의 위치입니다.
- 코딩 노트 위치 경로 (선택 사항) - 스키마 마이그레이션에서 노트 코딩 경로입니다.
- Postgres DB 이름 (선택 사항) - 변환 컨텍스트에 대한 PostgreSQL 데이터베이스의 이름입니다.
- Postgres DB 연결 (선택 사항) - PostgreSQL 데이터베이스의 연결 이름입니다.
Oracle에서 Postgres 마이그레이션 보고서 표시(
pgsql_migration_show_report) - 스키마 변환에 의해 생성된 마이그레이션 보고서를 표시합니다. 보고서 파일 경로 매개 변수가 필요합니다.
Copilot 도구 사용에 대한 자세한 내용은 Copilot 통합을 참조하세요.
변환된 파일 비교
변환 후 기본 제공 diff 명령을 사용하여 변경 내용을 나란히 검토합니다.
- 탐색기에서 마이그레이션 프로젝트의 또는
oracle폴더 아래에서postgres변환된 SQL 파일을 마우스 오른쪽 단추로 클릭하고 DDL 마이그레이션 파일 쌍 비교를 선택합니다. - 변환된 애플리케이션 코드 파일(
.sql,.ctl, 또는.sh.load.java)의 경우 파일을 마우스 오른쪽 단추로 클릭하고 애플리케이션 마이그레이션 파일 쌍 비교를 선택합니다.
병렬 차이 보기는 변환된 PostgreSQL 출력과 함께 원래 Oracle 원본을 표시하므로 수동 조정이 필요한 아티팩트도 식별할 수 있습니다.
메모
DDL 파일은 일치하는 파일 쌍을 찾으려면 compare 명령의 구조를 folder/oracle|postgres/SCHEMA_NAME/DDL-TYPE/filename.sql 따라야 합니다.
마이그레이션 프로젝트 관리
사이드바에서 마이그레이션(미리 보기) 보기를 사용하여 프로젝트를 관리합니다.
| 조치 | Description |
|---|---|
| 마이그레이션 프로젝트 열기 | 대시보드에서 기존 마이그레이션 프로젝트를 엽니다. |
| 탐색기에서 표시 | 탐색기 보기에 프로젝트 폴더를 표시합니다. |
| Delete | 마이그레이션 프로젝트를 제거합니다. 삭제하기 전에 확인하라는 메시지가 표시됩니다. |
| 새로 고침 | 현재 작업 영역에서 마이그레이션 프로젝트 목록을 다시 로드합니다. |