Aurora PostgreSQL로 온프레미스 Oracle 데이터베이스의 데이터를 마이그레이션하기 - 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Aurora PostgreSQL로 온프레미스 Oracle 데이터베이스의 데이터를 마이그레이션하기

작성자: Michelle Deng (AWS) 및 Shunan Xiang (AWS)

환경: PoC 또는 파일럿

소스: Oracle

대상: Aurora PostgreSQL-Compatible

R 유형: 리아키텍트

워크로드: Oracle

기술: 마이그레이션, 데이터베이스

AWS 서비스: Amazon Aurora; AWS DMS; AWS SCT

요약

이 패턴은 온프레미스 Oracle 데이터베이스에서 Amazon Aurora PostgreSQL-Compatible Edition으로 데이터를 마이그레이션하기 위한 지침을 제공합니다. 이는 DML(데이터 조작 언어) 활동이 많은 대형 테이블을 포함하는 수 테라바이트 규모의 Oracle 데이터베이스를 대상으로 가동 중지 시간을 최소화하는 온라인 데이터 마이그레이션 전략을 목표로 합니다. Oracle Active Data Guard 스탠바이 데이터베이스는 기본 데이터베이스에서 데이터 마이그레이션을 오프로드하기 위한 소스로 사용됩니다. ORA-01555 오류를 방지하기 위해 전체 로드 중에 Oracle 기본 데이터베이스에서 대기 데이터베이스로의 복제를 일시 중단할 수 있습니다. 

데이터 유형이 NUMBER인 기본 키(PK) 또는 외래 키(FK)의 테이블 열은 일반적으로 Oracle에 정수를 저장하는 데 사용됩니다. 더 나은 성능을 위해 PostgreSQL에서 이를 INT 또는 BIGINT로 변환하는 것을 권장합니다. AWS Schema Conversion Tool(AWS SCT)을 사용하여 PK 및 FK 열의 기본 데이터 유형 매핑을 변경할 수 있습니다. (자세한 내용은 AWS 블로그 게시물 Oracle에서 PostgreSQL로 NUMBER 데이터 유형 변환을 참고하십시오.) 이 패턴의 데이터 마이그레이션에서는 전체 로드와 변경 데이터 캡처(CDC) 모두에 AWS Database Migration Service(AWS DMS)를 사용합니다.

또한, 이 패턴을 사용하여 PostgreSQL용 Amazon Relational Database Service(Amazon RDS)로 온프레미스 Oracle 데이터베이스를 마이그레이션하거나, Amazon Elastic Compute Cloud(Amazon EC2)에서 호스팅되는 Oracle 데이터베이스를 Amazon RDS for PostgreSQL 또는 Aurora PostgreSQL-Compatible로 마이그레이션할 수 있습니다.

사전 조건 및 제한 사항

사전 조건

제한 사항

제품 버전

아키텍처

소스 기술 스택

  • Oracle Active Data Guard 예비 데이터베이스가 구성된 온프레미스 Oracle 데이터베이스

대상 기술 스택

  • Aurora PostgreSQL-Compatible 

데이터 마이그레이션 아키텍처

Oracle 데이터베이스를 Aurora PostgreSQL-Compatible로 마이그레이션하기

도구

  • AWS DMS - AWS Database Migration Service(AWS DMS)는 여러 원본 및 대상 데이터베이스를 지원합니다. 지원되는 Oracle 원본 및 대상 데이터베이스 버전과 에디션의 목록은 AWS DMS 설명서에서 Oracle 데이터베이스를 AWS DMS의 원본으로 사용하기 섹션을 참조하세요. 원본 데이터베이스가 AWS DMS에서 지원되지 않는 경우, 6단계 (Epic 섹션) 에서 데이터를 마이그레이션할 다른 방법을 선택해야 합니다. 중요 참고: 이 마이그레이션은 이기종 마이그레이션이므로 먼저 데이터베이스가 상용 (COTS) 애플리케이션을 지원하는지 확인해야 합니다. off-the-shelf 애플리케이션이 COTS인 경우 진행하기 전에 공급업체에 문의하여 Aurora PostgreSQL-Compatible이 지원되는지 확인하십시오. 자세한 내용은 AWS 설명서의 AWS DMS 단계별 마이그레이션 안내를 참고하십시오.

  • AWS SCTAWS Schema Conversion Tool(AWS SCT)은 원본 데이터베이스 스키마와 대부분의 사용자 지정 코드를 대상 데이터베이스와 호환되는 형식으로 자동 변환하여 유형이 다른 데이터베이스 마이그레이션을 촉진합니다. 도구가 변환하는 사용자 지정 코드에는 보기, 저장된 절차 및 함수가 포함됩니다. 도구가 자동으로 변환할 수 없는 코드는 명확하게 표시되므로 직접 변환할 수 있습니다. 

에픽

작업설명필요한 기술
소스 및 대상 데이터베이스 버전을 검증합니다.DBA
AWS SCT 및 드라이버를 설치합니다.DBA
원본 데이터베이스에 AWS SCT 필수 사용자 및 권한을 추가하고 검증합니다.DBA
워크로드용 AWS SCT 프로젝트를 생성하고 소스 데이터베이스에 연결합니다.DBA
평가 보고서를 작성하고 타당성을 평가하세요.DBA, 앱 소유자
작업설명필요한 기술
Aurora PostgreSQL-Compatible 대상 데이터베이스를 생성합니다.DBA
원본 데이터베이스에서 사용자, 역할 및 권한 목록을 추출합니다.DBA
기존 데이터베이스 사용자를 새 데이터베이스 사용자에 매핑합니다.앱 소유자
대상 데이터베이스에서 사용자를 생성합니다.DBA
대상 Aurora PostgreSQL-Compatible 데이터베이스에 이전 단계의 역할을 적용합니다.DBA
원본 데이터베이스의 데이터베이스 옵션, 파라미터, 네트워크 파일 및 데이터베이스 링크를 검토하고 대상 데이터베이스에 적용할 수 있는지 평가하세요.DBA, 앱 소유자
대상 데이터베이스에 관련 설정을 적용합니다.DBA
작업설명필요한 기술
대상 데이터베이스에 대한 AWS SCT 연결을 구성합니다.DBA
AWS SCT에서 스키마를 변환하고 변환된 코드를 .sql 파일로 저장합니다.DBA, 앱 소유자
자동 변환에 실패한 모든 데이터베이스 객체를 수동으로 변환합니다.DBA, 앱 소유자
데이터베이스 코드 변환을 최적화합니다.DBA, 앱 소유자
객체 유형에 따라 .sql 파일을 여러 .sql 파일로 분리합니다.DBA, 앱 소유자
대상 데이터베이스에서 SQL 스크립트를 확인합니다.DBA, 앱 소유자
작업설명필요한 기술
AWS DMS 복제 인스턴스를 생성합니다.DBA
원본 및 대상 DB 엔드포인트

PK 및 FK의 데이터 유형이 Oracle의 NUMBER에서 PostgreSQL의 BIGINT로 변환되는 경우 소스 엔드포인트를 생성할 때 연결 속성 numberDataTypeScale=-2를 지정하는 것이 좋습니다.

DBA
작업설명필요한 기술
대상 데이터베이스에 스키마와 테이블을 생성합니다.DBA
테이블을 그룹화하거나 테이블 크기에 따라 큰 테이블을 분할하여 AWS DMS 전체 로드 작업을 생성합니다.DBA
소스 Oracle 데이터베이스에서 애플리케이션을 잠시 중지합니다.앱 소유자
Oracle 스탠바이 데이터베이스가 기본 데이터베이스와 동기화되는지 확인하고 기본 데이터베이스에서 스탠바이 데이터베이스로의 복제를 중지합니다.DBA, 앱 소유자
소스 Oracle 데이터베이스에서 애플리케이션을 시작합니다.앱 소유자
Oracle 스탠바이 데이터베이스에서 Aurora PostgreSQL-Compatible 데이터베이스까지 AWS DMS 전체 로드 작업을 병렬로 시작합니다.DBA
전체 로드가 완료된 후 PK 및 보조 인덱스를 생성합니다.DBA
데이터를 검증합니다.DBA
작업설명필요한 기술
Oracle 스탠바이가 기본 데이터베이스와 동기화된 시점과 이전 작업에서 애플리케이션이 다시 시작되기 전에, 사용자 지정 CDC 시작 시간 또는 시스템 변경 번호(SCN)를 지정하여 AWS DMS 지속 복제 작업을 생성합니다.DBA
AWS DMS 작업을 병렬로 시작하여 Oracle 예비 데이터베이스에서 Aurora PostgreSQL-Compatible 데이터베이스까지 지속적으로 변경되는 사항을 복제합니다.DBA
Oracle 기본 데이터베이스에서 스탠바이 데이터베이스로 복제를 재설정합니다.DBA
대상 Aurora PostgreSQL-Compatible 데이터베이스가 소스 Oracle 데이터베이스와 거의 동기화될 때 Oracle 데이터베이스에서 로그를 모니터링하고 애플리케이션을 중지합니다.DBA, 앱 소유자
대상이 소스 Oracle 데이터베이스와 완전히 동기화되면 AWS DMS 작업을 중지합니다.DBA
FK를 생성하고 원본 및 대상 데이터베이스의 데이터를 확인합니다.DBA
대상 데이터베이스에 함수, 보기, 트리거, 시퀀스 및 기타 객체 유형을 생성합니다.DBA
대상 데이터베이스에 역할 부여를 적용합니다.DBA
작업설명필요한 기술
AWS SCT를 사용하여 애플리케이션 코드 내에서 SQL 문을 분석하고 변환합니다.앱 소유자
AWS에 새 애플리케이션 서버를 생성합니다.앱 소유자
애플리케이션 코드를 새 서버로 마이그레이션합니다.앱 소유자
대상 데이터베이스 및 드라이버에 맞게 애플리케이션 서버를 구성합니다.앱 소유자
애플리케이션의 소스 데이터베이스 엔진 관련 코드를 모두 수정하세요.앱 소유자
대상 데이터베이스에 맞게 애플리케이션 코드를 최적화합니다.앱 소유자
작업설명필요한 기술
새 애플리케이션 서버를 대상 데이터베이스로 가리킵니다.DBA, 앱 소유자
온전성 검사를 수행합니다.DBA, 앱 소유자
가동을 시작합니다.DBA, 앱 소유자
작업설명필요한 기술
임시 AWS 리소스를 종료합니다.DBA, 시스템 관리자
프로젝트 문서를 검토하고 검증하세요.DBA, 앱 소유자
마이그레이션 시간, 수동 대비 도구 사용 비율, 비용 절감, 기타 유사한 데이터에 대한 지표를 수집합니다.DBA, 앱 소유자
프로젝트를 마무리하고 피드백을 제공하세요.DBA, 앱 소유자

관련 리소스

참조

자습서