이 페이지에서는 Ora2Pg 마이그레이션 도구를 사용하여 기존 변환 작업공간에서 변환을 위해 소스 데이터베이스 스키마를 준비하는 방법을 설명합니다.
Oracle과 PostgreSQL은 서로 다른 SQL 언어와 데이터 유형을 사용하여 포함된 객체와 데이터 유형을 정의합니다. 이러한 SQL 엔진 간에 마이그레이션할 때는 Oracle 스키마와 코드를 PostgreSQL과 호환되는 스키마와 코드로 변환해야 합니다.
Database Migration Service에서는 소스 변환을 두 가지 방법으로 처리할 수 있습니다.
(권장) 내장된 전환 편집기와 함께 전환 작업공간을 사용하세요.
이 접근 방식에서는 스키마 변환이 자동화되고 모든 작업이 Database Migration Service 내에서 직접 실행됩니다. 이 접근 방식을 사용하는 경우 관련 연결 정보를 추가하는 것 외에는 추가 준비가 필요하지 않습니다. 대상 PostgreSQL용 Cloud SQL 데이터베이스 구성 섹션으로 이동합니다.
Ora2Pg 변환 도구와 함께 기존 변환 작업공간을 사용합니다.
이 접근 방식은 Database Migration Service 외부에서 변환 절차를 실행하려는 경우에 유용합니다. 변환 작업공간을 만들기 전에 스키마 변환에 Ora2Pg 사용 섹션의 모든 단계를 실행합니다.
스키마 변환에 Ora2Pg 사용
변환 워크스페이스를 설정하기 전에 다음을 실행합니다.
- Ora2Pg 파일을 구성합니다. 자세한 내용은 Ora2Pg 문서의 구성 섹션을 참고하세요.
- Ora2Pg를 사용하여 PostgreSQL용 Cloud SQL 대상 데이터베이스에 로드할 수 있는 SQL 스크립트를 생성합니다. 자세한 내용은 Ora2Pg 문서의 설치 섹션을 참고하세요.
- PostgreSQL용 Cloud SQL 데이터베이스에서 SQL 스크립트를 실행합니다. 그러면 데이터베이스에 스키마가 생성됩니다.
이 단계를 완료한 후 구성한 Ora2Pg 파일이 포함된 변환 작업공간을 만듭니다. Database Migration Service가 이 파일을 사용하여 소스 Oracle 데이터베이스와 PostgreSQL용 Cloud SQL 대상 데이터베이스 간에 테이블 매핑을 만듭니다. 이러한 테이블 매핑은 Database Migration Service가 소스의 데이터를 대상에 올바르게 로드할 수 있도록 하는 데 사용됩니다.
Ora2Pg 디렉티브 사용
Database Migration Service는 Ora2Pg 구성 파일에서 다음 디렉티브를 사용합니다.
BOOLEAN_VALUES
DATA_TYPE
DEFAULT_NUMERIC
ENABLE_MICROSECOND
EXPORT_SCHEMA
MODIFY_STRUCT
MODIFY_TYPE
PG_INTEGER_TYPE
PG_NUMERIC_TYPE
PG_SCHEMA
PRESERVE_CASE
REPLACE_AS_BOOLEAN
REPLACE_COLS
REPLACE_TABLES
SCHEMA
Database Migration Service는 연결 프로필을 사용하여 연결 세부정보를 정의하므로 Or2Pg 구성 파일에서 다음 디렉티브를 정의할 필요가 없습니다.
ORACLE_DSN
ORACLE_HOME
ORACLE_PWD
ORACLE_USER
PG_DSN
PG_PWD
PG_USER
또한 Database Migration Service는 WHERE
구성 디렉티브를 사용하여 마이그레이션할 레코드를 제한하지 않습니다.
Ora2Pg 구성 디렉티브에 관한 자세한 내용은 Ora2Pg 문서의 구성 섹션을 참고하세요.
기본 키가 없는 테이블 작업
Database Migration Service가 변경된 행을 추적할 수 없으므로 기본 키가 없는 테이블에서 DML UPDATE
및 DELETE
문을 실행하면 레코드가 중복될 수 있습니다.
기본 키가 없는 소스 데이터베이스의 테이블을 마이그레이션하는 방법은 기본 키가 없는 테이블 마이그레이션을 참고하세요.