이 페이지에서는 변환 작업공간을 만들고 이를 사용하여 Oracle에서 PostgreSQL로 결정론적 코드 및 스키마 변환을 즉시 수행하는 방법을 보여줍니다.
다음 두 가지 방법으로 대화형 변환 작업공간을 만들 수 있습니다.
직접 데이터베이스 연결을 통해: Database Migration Service는 연결 프로필을 통해 실행 중인 소스 데이터베이스에 직접 연결하고 네트워크 연결을 통해 스키마를 가져옵니다.
Cloud Storage의 스키마 파일 사용: Google에서 제공하는 추출 스크립트를 사용하여 로컬에서 스키마 메타데이터를 추출하고, 결과 파일을 Cloud Storage 버킷에 업로드하고, 소스 데이터베이스에 연결하지 않고 작업공간을 준비할 수 있습니다.
소스 데이터베이스에 직접 연결
Database Migration Service를 사용하여 소스 데이터베이스에 직접 연결하여 대화형 변환 작업공간을 만들고 스키마 변환을 수행할 수 있습니다. 이 방법으로 작업공간을 만들기 전에 소스 데이터베이스의 연결 프로필을 만들어야 합니다.
직접 연결 방법에 필요한 역할
변환 작업공간을 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한
데이터베이스 마이그레이션 관리자 (roles/datamigration.admin) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 Identity and Access Management 문서의 액세스 관리를 참조하세요.
이 사전 정의된 역할에는 Database Migration Service에서 변환 작업공간을 만드는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
Database Migration Service에서 변환 작업공간을 만들려면 다음 권한이 필요합니다.
cloudaicompanion.entitlements.get이 권한은
roles/datamigration.admin역할에 포함되어 있습니다. Gemini 기반 전환 기능에 필요합니다.datamigration.conversionworkspaces.applydatamigration.conversionworkspaces.commitdatamigration.conversionworkspaces.convertdatamigration.conversionworkspaces.createdatamigration.conversionworkspaces.deletedatamigration.conversionworkspaces.getdatamigration.conversionworkspaces.getIamPolicydatamigration.conversionworkspaces.listdatamigration.conversionworkspaces.rollbackdatamigration.conversionworkspaces.seeddatamigration.conversionworkspaces.setIamPolicydatamigration.conversionworkspaces.update
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
연결 프로필을 사용하여 변환 작업공간 만들기
Database Migration Service가 소스 데이터베이스에 연결하고 소스 데이터베이스 객체의 초기 스냅샷을 준비하는 변환 작업공간을 만들려면 다음 단계를 따르세요.
- Google Cloud 콘솔에서 변환 작업공간으로 이동합니다.
- 작업공간 설정을 클릭합니다.
- 변환 작업공간 만들기 페이지에서 다음을 수행합니다.
- 변환 작업공간의 이름, 식별자, 리전을 입력합니다.
- 소스 데이터베이스 엔진 드롭다운 메뉴에서 Oracle을 선택합니다.
- 대상 데이터베이스 엔진에서 PostgreSQL용 Cloud SQL을 선택합니다.
-
작업공간의 Gemini 설정 사용 설정 섹션에서 체크박스를 사용하여 Gemini 기반 변환 기능을 사용 설정합니다. 나중에 Gemini 지원을 통해 코드 및 스키마를 변환하려는 경우에도 이러한 기능을 사용 설정할 수 있습니다.
Gemini 기반 변환 기능을 사용하려면 Gemini for Google Cloud API가 필요합니다. 자세한 내용은 Gemini 기반 변환 기능을 참조하세요.
- 작업공간 만들기 및 계속하기를 클릭합니다.
- 소스 정의 및 스키마 스냅샷 가져오기 페이지에서 다음을 수행합니다.
- 소스 연결 방법 섹션에서 연결 프로필을 선택합니다.
- 소스 연결 프로필 드롭다운 메뉴에서 소스 데이터베이스의 연결 프로필을 선택합니다.
- 스키마 스냅샷 가져오기 및 계속하기를 클릭합니다.
Database Migration Service가 소스 데이터베이스에 연결하고 스키마를 가져오는 중입니다. 이 프로세스는 몇 분이 소요될 수 있습니다.
- 객체 선택 및 변환 페이지에서 체크박스를 사용하여 PostgreSQL 문법으로 변환할 객체를 선택합니다.
모든 객체를 한 번에 변환할 필요는 없습니다. 대신 지금은 몇 개의 객체만 선택하고 나중에 변환에 더 많은 객체를 추가할 수 있습니다.
- 변환하고 계속하기를 클릭합니다.
변환 작업공간이 열립니다.
- 새 작업공간을 처음 열 때 업그레이드하여 Gemini 기반 자동 변환 기능에 액세스할 수 있습니다.
다음 단계를 따르세요.
- Gemini 자동 변환 소개 대화상자에서 작업공간을 업그레이드하여 새로운 환경 살펴보기 체크박스를 선택하고 계속을 클릭합니다.
- Gemini로 소스 객체를 변환하시겠어요? 대화상자에서 변환을 클릭합니다.
이제 Database Migration Service는 변환 프로세스를 다시 수행하여 결정론적 변환 결과에 Gemini 기반 변환 개선사항을 적용합니다. Gemini 자동 변환 기능에 대한 자세한 내용은 Gemini 자동 변환을 참조하세요.
Cloud Storage에 저장된 스키마 파일 사용
Google에서 제공하는 추출 스크립트를 사용하여 스키마 메타데이터를 로컬에서 추출하고, 결과 파일을 Cloud Storage 버킷에 업로드하고, 소스 데이터베이스에 연결하지 않고도 작업공간을 준비할 수 있습니다.
Cloud Storage에서 스키마 파일을 사용하는 데 필요한 역할
Cloud Storage에 저장된 스키마 파일을 사용하여 변환 작업공간을 만드는 데 필요한 권한을 얻으려면 관리자에게 마이그레이션 프로세스와 관련된 다음 계정에 대해 프로젝트에 필요한 IAM 역할을 부여해 달라고 요청하세요.
- 변환 작업공간을 만드는 사용자 계정:
데이터베이스 마이그레이션 관리자 (
roles/datamigration.admin) - Database Migration Service 서비스 계정: 스키마 파일을 저장하는 Cloud Storage 버킷에 대한
스토리지 객체 뷰어 (
roles/storage.objectViewer) 역할Database Migration Service 서비스 계정의 이메일 주소는
service-PROJECT_NUMBER@gcp-sa-datamigration.형식을 사용합니다. PROJECT_NUMBER를 Google Cloud 프로젝트 번호로 바꿉니다. 이 서비스 계정에 대한 자세한 내용은 Database Migration Service 서비스 계정을 참조하세요.
역할 부여에 대한 자세한 내용은 Identity and Access Management 문서의 액세스 관리를 참조하세요.
roles/datamigration.admin 사전 정의된 역할에는 Database Migration Service에서 변환 작업공간을 만드는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
Database Migration Service에서 변환 작업공간을 만들려면 다음 권한이 필요합니다.
cloudaicompanion.entitlements.get이 권한은
roles/datamigration.admin역할에 포함되어 있습니다. Gemini 기반 전환 기능에 필요합니다.datamigration.conversionworkspaces.applydatamigration.conversionworkspaces.commitdatamigration.conversionworkspaces.convertdatamigration.conversionworkspaces.createdatamigration.conversionworkspaces.deletedatamigration.conversionworkspaces.getdatamigration.conversionworkspaces.getIamPolicydatamigration.conversionworkspaces.listdatamigration.conversionworkspaces.rollbackdatamigration.conversionworkspaces.seeddatamigration.conversionworkspaces.setIamPolicydatamigration.conversionworkspaces.update
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
스키마 파일로 변환 작업공간 만들기
스키마 파일로 변환 작업공간을 만들려면 다음 단계를 따르세요.
- Google Cloud 콘솔에서 Python 스크립트를 가져옵니다. 다음 단계를 따르세요.
- Google Cloud 콘솔에서 변환 작업공간으로 이동합니다.
- 작업공간 설정을 클릭합니다.
- 변환 작업공간 만들기 페이지에서 다음을 수행합니다.
- 작업공간 이름, 식별자, 리전을 입력합니다.
- 소스 데이터베이스 엔진 드롭다운 메뉴에서 Oracle을 선택합니다.
- 대상 데이터베이스 엔진 드롭다운 메뉴에서 PostgreSQL용 Cloud SQL을 선택합니다.
-
작업공간의 Gemini 설정 사용 설정 섹션에서 체크박스를 사용하여 Gemini 기반 변환 기능을 사용 설정하고 계속을 클릭합니다.
나중에 Gemini 지원을 통해 코드 및 스키마를 변환하려는 경우에도 이러한 기능을 사용 설정할 수 있습니다. Gemini 기반 변환 기능을 사용하려면 Gemini for Google Cloud API가 필요합니다. 자세한 내용은 Gemini 기반 변환 기능을 참조하세요.
- 소스 정의 및 스키마 스냅샷 가져오기 페이지의 소스 연결 방법 섹션에서 Cloud Storage를 선택합니다.
- 폴더를 선택하기 전에 섹션에서 Oracle 메타데이터 추출기 제목 옆에 있는 열기를 클릭합니다. 측면 패널의 안내에 따라 소스 데이터베이스에 대해 추출 유틸리티를 다운로드하고 실행하여 스키마 메타데이터 JSON 파일을 생성합니다. 이 유틸리티를 사용하려면 소스 데이터베이스와 네트워크 연결을 설정할 수 있어야 합니다.
- 스키마 메타데이터 JSON 파일을 업로드하는 전용 Cloud Storage 버킷을 만듭니다. Cloud Storage 버킷 만들기에 대한 자세한 내용은 Cloud Storage 문서의 버킷 만들기를 참조하세요.
- 전용 Cloud Storage 버킷 내에서 이전 단계에서 내보낸 데이터베이스 스키마 파일의 빈 전용 폴더를 만듭니다. Cloud Storage 폴더 만들기에 대한 자세한 내용은 Cloud Storage 문서의 폴더 만들기 및 관리를 참조하세요.
- 이전 단계에서 Google Cloud 콘솔에서 가져온 Python 스크립트로 만든 메타데이터 JSON 스키마 파일만 Cloud Storage 버킷의 비어 있는 전용 데이터베이스 폴더에 업로드합니다.
- Google Cloud 콘솔에서 작업공간을 계속 만들거나 Google Cloud CLI를 사용하여 새 작업공간을 만듭니다.
콘솔
- 추출된 스키마 메타데이터 파일을 Cloud Storage 버킷에 업로드한 후 소스 정의 및 스키마 스냅샷 가져오기 페이지에서 계속 진행합니다.
- 폴더 필드에서 찾아보기를 클릭하고 스키마 파일이 포함된 폴더를 선택합니다.
- 스키마 스냅샷 가져오기 및 계속하기를 클릭합니다.
이제 Database Migration Service가 버킷에서 스키마 메타데이터를 파싱합니다.
- 객체 선택 및 변환 페이지에서 변환할 객체를 선택하고 변환 및 계속을 클릭합니다.
gcloud
추출된 스키마 메타데이터 파일을 Cloud Storage 버킷에 업로드한 후 Google Cloud CLI를 사용하여 새 작업공간을 만들고 초기화할 수 있습니다. 다음 단계를 따르세요.
-
빈 변환 작업공간을 만듭니다.
다음 명령어를 실행합니다 (클릭하여 펼치기).gcloud database-migration conversion-workspaces creategcloud database-migration conversion-workspaces create WORKSPACE_ID \ --region=REGION \ --source-database-engine=ORACLE \ --destination-database-engine=POSTGRESQL
다음을 바꿉니다.
- WORKSPACE_ID: 변환 작업공간의 식별자입니다.
- REGION: 작업공간을 만들려는 리전입니다.
-
Cloud Storage의 스키마 파일을 사용하여 작업공간을 초기화합니다.
버킷에 저장된 스키마 메타데이터 파일을 파싱하고 변환 작업공간에 로드하려면 다음 명령어를 실행합니다 (클릭하여 펼치기).gcloud database-migration conversion-workspaces seedgcloud database-migration conversion-workspaces seed WORKSPACE_ID \ --region=REGION \ --gcs-path=gs://BUCKET_NAME/PREFIX/
다음을 바꿉니다.
- WORKSPACE_ID: 변환 작업공간의 식별자입니다.
- REGION: 작업공간을 만들려는 리전입니다.
- BUCKET_NAME: 스키마 파일이 포함된 Cloud Storage 버킷의 이름입니다.
- PREFIX: 추출된 스키마 메타데이터 파일이 포함된 폴더의 경로입니다.
기존 변환 작업공간
기존 변환 작업공간은 더 오래되고 제한적인 유형의 변환 작업공간입니다. 마이그레이션에 기존 유형의 전환 작업공간을 사용하지 않는 것이 좋습니다. 기존 변환 작업공간을 사용해야 하는 경우 기존 변환 작업공간 만들기 및 스키마 변환 섹션을 펼쳐 자세한 내용을 확인하세요.
기존 변환 작업공간 만들기 및 스키마 변환
기존 변환 작업공간은 Ora2Pg 구성 파일을 사용합니다. 기존 변환 작업공간을 만들기 전에 먼저 Database Migration Service 외부에서 Ora2Pg 구성을 만들어야 합니다. 자세한 내용은 기존 변환 작업공간 작업을 참조하세요.
- Google Cloud 콘솔에서 변환 작업공간으로 이동합니다.
- 작업공간 설정을 클릭합니다.
- 변환 작업공간 만들기 페이지에서 다음을 수행합니다.
- 변환 작업공간의 이름, 식별자, 리전을 입력합니다.
- 소스 데이터베이스 엔진 드롭다운 메뉴에서 Oracle을 선택합니다.
- 대상 데이터베이스 엔진에서 PostgreSQL용 Cloud SQL을 선택합니다.
- 작업공간 구성 맞춤설정 섹션을 펼치고 기존 변환 작업공간 사용 설정 체크박스를 선택합니다.
- 작업공간 만들기 및 계속하기를 클릭합니다.
- 소스에 연결 및 객체 변환 페이지에서 다음을 수행합니다.
- 소스 연결 프로필 드롭다운 메뉴에서 소스 데이터베이스의 연결 프로필을 선택합니다.
-
구성 파일 상자에서 찾아보기를 클릭하고 시스템 파일 선택 도구를 사용하여 변환 매핑 파일을 선택합니다.
파일 추가를 클릭하여 여러 전환 매핑 파일을 업로드할 수 있습니다.
-
구성 변환 섹션에서 스키마 가져오기 및 변환을 클릭합니다.
Database Migration Service가 이제 소스 데이터베이스에 연결하고, 스키마를 검색하고, 변환 매핑 파일에 정의된 규칙에 따라 대상 SQL 스키마로 변환합니다. 이 프로세스는 몇 분이 소요될 수 있습니다.
- 저장 후 닫기를 클릭합니다.
변환 작업공간 세부정보 페이지가 열립니다.
이제 변환된 스키마를 대상 데이터베이스에 적용할 수 있습니다. 소스 데이터베이스에 기본 키가 없는 테이블이 포함된 경우 변환된 스키마를 적용한 후 대상 데이터베이스의 변환된 테이블에 기본 키 제약조건을 수동으로 만들어야 합니다. 자세한 내용은 기존 변환 작업공간 작업을 참조하세요.
다음 단계
이제 변환 작업공간을 사용하여 변환 문제를 해결하고, 대화형 편집기로 객체를 수정하고, 변환된 스키마를 대상 데이터베이스에 적용할 수 있습니다. Oracle 코드 및 스키마를 PostgreSQL 문법으로 변환을 참조하세요.