Visual Studio Code PostgreSQL 확장은 Oracle 데이터베이스를 PostgreSQL로 마이그레이션하기 위한 엔드투엔드 워크플로를 제공합니다. 안내 마법사는 Oracle 원본에 연결하고, 스키마를 선택하고, AI 지원 DDL 변환을 위한 Microsoft Foundry 모델을 구성하고, 유효성 검사를 위해 PostgreSQL 스크래치 데이터베이스를 선택하는 과정을 안내합니다. 프로젝트를 만든 후 대시보드는 단일 보기에서 추출, 변환, 내보내기 및 검토를 추적합니다.
Important
Oracle-PostgreSQL 마이그레이션 워크플로는 Visual Studio Code만 사용할 수 있습니다.
스키마 및 애플리케이션 변환을 함께 맞추는 방법
확장은 Oracle 워크로드를 두 번의 패스로 변환합니다. 스키마 변환은 먼저 실행되고 데이터베이스 개체에 대한 DDL(PostgreSQL 데이터 정의 언어)을 생성합니다. 애플리케이션 변환은 나중에 실행되고 해당 개체를 호출하는 코드를 업데이트합니다.
스키마 변환
스키마 변환은 선택한 스키마에 대한 Oracle 데이터 사전을 읽고, 추출된 개체를 종속성 순서 청크로 그룹화하고, Microsoft Foundry 배포를 사용하여 각 청크를 변환합니다. 변환된 개체는 기록되기 전에 스크래치 데이터베이스에 대해 컴파일되므로 수신하는 DDL은 최상의 추측이 아닌 확인됩니다. 실행은 다음을 생성합니다.
- Oracle 스키마 및 개체 유형별로 구성된 개체 수준 PostgreSQL
.sql파일입니다. - 변환된 개체, 건너뛴 개체 및 전체 성공률을 기록하는 변환 보고서입니다.
- 대체 DDL 또는 Oracle과 PostgreSQL 간에 다른 동작과 같이 사람의 판단이 필요한 개체에 대한 작업을 검토합니다.
- 스키마에 있는 Oracle 패턴과 PostgreSQL에 매핑하는 방법을 설명하는 코딩 참고 사항입니다.
애플리케이션 변환
애플리케이션 변환은 데이터베이스를 둘러싸는 Oracle 관련 코드(SQL 스크립트, 저장 프로시저 호출, 로더 제어 파일, 셸 스크립트 및 Java 파일)를 대상으로 합니다. 스키마 변환의 코딩 노트를 입력으로 사용하므로 변환된 애플리케이션 코드는 스키마 변환이 실제로 생성한 개체 이름, 형식 및 호출 규칙과 일치합니다.
이 확장 내에서 데이터베이스 관련 애플리케이션 코드를 변환하거나 전체 현대화를 위해 GitHub Copilot 앱 현대화 확장으로 작업을 전달할 수 있습니다.
두 패스 시퀀스
먼저 스키마 변환을 실행합니다. 애플리케이션 변환은 스키마 변환에서 생성하는 코딩 노트 및 변환된 개체 이름에 따라 달라지므로 스키마가 정착하기 전에 애플리케이션 코드를 변환하면 변경될 수 있는 개체를 대상으로 하는 코드가 생성됩니다. 스키마 범위를 변경하거나 원본 개체를 수정한 후 스키마 변환을 다시 실행한 경우 업데이트된 코딩 노트에 대해 애플리케이션 코드를 다시 검토합니다.
필수 조건
시작하기 전에 다음 사항을 확인하세요.
- Visual Studio Code 설치되었습니다.
- PostgreSQL 확장이 설치되었습니다.
- 스키마 추출에 대한 읽기 권한이 있는 Oracle 원본 데이터베이스에 액세스합니다.
- 스크래치 유효성 검사 데이터베이스로 사용할 Azure Database for PostgreSQL 유연한 서버입니다. 스키마 변환은 Azure HorizonDB를 스크래치 데이터베이스로 지원하지 않습니다.
- 배포된
gpt-5.2모델이 있는 Microsoft Foundry 리소스입니다. 액세스 권한이 있는 엔드포인트 URL과 API 키 또는 Microsoft Entra ID 계정이 필요합니다.
마이그레이션 기능이 사용하도록 설정되어 있는지 확인
이 설정은 pgsql.enableMigrations마이그레이션 보기 및 모든 마이그레이션 명령을 제어합니다. 이 설정은 기본적으로 사용하도록 설정됩니다.
마이그레이션 보기가 사이드바에 표시되지 않으면 Visual Studio Code 설정(ctrl+, Windows/Linux, cmd+, macOS)을 열고 해당 설정이 pgsql.enableMigrationstrue설정되어 있는지 확인합니다.
마이그레이션 프로젝트 생성
마이그레이션 프로젝트는 프로젝트 작업 영역을 만들기 전에 원본, 대상 및 AI 구성을 수집하는 4단계 마법사입니다.
1단계: Project 설정
사이드바에서 마이그레이션 보기를 엽니다.
다음 방법 중 하나로 새 프로젝트를 시작합니다.
- 작업 영역에 아직 마이그레이션 project 포함되어 있지 않으면 보기에서 + 마이그레이션 Project 만들기를 선택합니다.
- + 보기 도구 모음에서 단추를 선택합니다.
- 탐색기에서 작업 영역 폴더를 마우스 오른쪽 단추로 클릭하고 마이그레이션 Project 열기를 선택합니다.
새 Oracle to Azure Database for PostgreSQL 마이그레이션 프로젝트 페이지가 열리고 필요한 항목이 나열됩니다.
- 원본 데이터베이스에 대한 연결 세부 정보
- 변환할 스키마의 이름
- Microsoft Foundry 리소스에 대한 엔드포인트 URL 및 키
- 기존 Azure Database for 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 확장이 설치되어 있는지 자동으로 확인합니다. 확장 프로그램 확인을 선택하여 검사를 수동으로 실행할 수도 있습니다. 확장이 누락된 경우 허용 목록 및 설치에 대한 지침이 페이지에 나열됩니다.
- 다음: 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인 경우 표시됨) 테 넌 트 계정에 대한 테넌트 Microsoft Entra(인증 방법이id를 Microsoft Entra 때 표시됨). 배포 이름 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 | 마이그레이션 프로젝트를 제거합니다. 삭제하기 전에 확인하라는 메시지가 표시됩니다. |
| 새로 고침 | 현재 작업 영역에서 마이그레이션 프로젝트 목록을 다시 로드합니다. |
관련 콘텐츠
- 유연한 서버 스키마 변환을 Azure Database for PostgreSQL Oracle이란?
- 자습서: Oracle에서 유연한 서버 스키마 변환을 Azure Database for PostgreSQL
- Oracle에서 유연한 서버 스키마 변환을 Azure Database for PostgreSQL 모범 사례
- Oracle의 작업 및 출력 폴더를 검토하여 유연한 서버 스키마 변환을 Azure Database for PostgreSQL
- Oracle에서 유연한 서버 스키마 변환 제한 Azure Database for PostgreSQL
- Copilot 통합
- 연결 및 자격 증명
- 설정 참조
- Copilot 도구 참조