기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SharePlex 및 를 사용하여 Oracle 8i 또는 9i에서 Amazon RDS for PostgreSQL로 마이그레이션 AWS DMS
작성자: Kumar Babu P G(AWS)
환경: PoC 또는 파일럿 | 소스: 데이터베이스: 관계형 | 대상: Amazon RDS for Postgre SQL/Amazon Aurora PostgreSQL |
R 유형: 리아키텍트 | 워크로드: Oracle | 기술: 마이그레이션, 데이터베이스 |
AWS 서비스: Amazon RDS, Amazon Aurora |
요약
이 패턴은 온프레미스 Oracle 8i 또는 9i 데이터베이스를 PostgreSQL 또는 Amazon Aurora Postgre용 Amazon Relational Database Service(AmazonRDS)로 마이그레이션하는 방법을 설명합니다SQL. AWS Database Migration Service(AWS DMS)는 Oracle 8i 또는 9i를 소스로 지원하지 않으므로 Quest는 온프레미스 8i 또는 9i 데이터베이스의 데이터를 AWS 와 호환되는 중간 Oracle 데이터베이스(Oracle 10g 또는 11g)로 SharePlex 복제합니다DMS.
중간 Oracle 인스턴스에서 스키마 변환 도구(AWS SCT) 및 를 사용하여 AWS 스키마와 데이터가 AWS 의 PostgreSQL 데이터베이스AWS로 마이그레이션됩니다DMS. Schema Conversion Tool 이 방법을 사용하면 복제 지연을 최소화하면서 소스 Oracle 데이터베이스에서 대상 PostgreSQL DB 인스턴스로 데이터를 지속적으로 스트리밍할 수 있습니다. 이 구현에서 가동 중지 시간은 대상 PostgreSQL 데이터베이스에서 모든 외부 키, 트리거 및 시퀀스를 생성하거나 검증하는 데 걸리는 시간으로 제한됩니다.
마이그레이션은 Oracle 10g 또는 11g가 설치된 Amazon Elastic Compute Cloud(AmazonEC2) 인스턴스를 사용하여 소스 Oracle 데이터베이스의 변경 사항을 호스팅합니다. AWS DMS 는 이 중간 Oracle 인스턴스를 소스로 사용하여 데이터를 Amazon RDS for PostgreSQL 또는 Aurora Postgre 로 스트리밍합니다SQL. 온프레미스 Oracle 데이터베이스에서 중간 Oracle 인스턴스로의 데이터 복제를 일시 중지했다가 다시 시작할 수 있습니다. 또한 중간 Oracle 인스턴스에서 대상 PostgreSQL 데이터베이스로 일시 중지했다가 재개할 수 있으므로 데이터 검증 또는 사용자 지정 데이터 검증 도구를 사용하여 AWS DMS 데이터를 검증할 수 있습니다.
사전 조건 및 제한 사항
사전 조건
활성 AWS 계정
온프레미스 데이터 센터의 소스 Oracle 8i 또는 9i 데이터베이스
AWS 온프레미스 데이터 센터와 간에 구성된 Direct Connect AWS
로컬 시스템 또는 이 설치된 EC2 인스턴스에 AWS SCT 설치된 AWS SCT 커넥터용 Java Database Connectivity(JDBC) 드라이버
Quest SharePlex 데이터 복제에 대한 친숙도
제한 사항
데이터베이스 크기 제한: 64TB
온프레미스 Oracle 데이터베이스는 Enterprise Edition이어야 함
제품 버전
소스 데이터베이스: Oracle 8i 또는 9i
중간 데이터베이스: Oracle 10g 또는 11g
PostgreSQL 9.6 이상
아키텍처
소스 기술 스택
Oracle 8i 또는 9i 데이터베이스
퀘스트 SharePlex
대상 기술 스택
Amazon RDS for PostgreSQL 또는 Aurora PostgreSQL
소스 및 대상 아키텍처·
도구
AWS DMS – AWS 데이터베이스 마이그레이션 서비스(AWS DMS)를 사용하면 데이터베이스를 빠르고 안전하게 마이그레이션할 수 있습니다. 소스 데이터베이스는 마이그레이션 중에도 완전히 작동하여 데이터베이스를 사용하는 애플리케이션의 가동 중지 시간을 최소화합니다. AWS DMS 는 가장 널리 사용되는 상용 및 오픈 소스 데이터베이스에서 데이터를 마이그레이션할 수 있습니다.
AWS SCT – AWS Schema Conversion Tool(AWS SCT)은 소스 데이터베이스 스키마와 뷰, 저장된 프로시저 및 함수를 포함한 대부분의 데이터베이스 코드 객체를 대상 데이터베이스와 호환되는 형식으로 자동으로 변환하여 이종 데이터베이스 마이그레이션을 예측할 수 있도록 합니다. 자동으로 변환할 수 없는 객체는 명확하게 표시되므로 수동으로 변환하여 마이그레이션을 완료할 수 있습니다. AWS SCT 또한 는 애플리케이션 소스 코드에서 임베디드 SQL 문을 스캔하여 데이터베이스 스키마 변환 프로젝트의 일부로 변환할 수 있습니다. 이 프로세스 중에 는 레거시 Oracle 및 SQL 서버 함수를 AWS 동등한 함수로 변환하여 클라우드 네이티브 코드 최적화를 AWS SCT 수행하여 데이터베이스를 마이그레이션하는 동안 애플리케이션을 현대화하는 데 도움이 됩니다. 스키마 변환이 완료되면 는 내장 데이터 마이그레이션 에이전트를 사용하여 다양한 데이터 웨어하우스에서 Amazon Redshift로 데이터를 마이그레이션하는 데 도움이 될 AWS SCT 수 있습니다.
Quest SharePlex - Quest SharePlex
는 가동 중지 시간을 최소화하고 데이터 손실 없이 데이터를 이동하기 위한 데이터 복제 도구입니다 Oracle-to-Oracle.
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
Amazon용 네트워크를 설정합니다EC2. | 가상 프라이빗 클라우드(VPC), 서브넷, 인터넷 게이트웨이, 라우팅 테이블 및 보안 그룹을 생성합니다. | AWS SysAdmin |
새 EC2 인스턴스를 생성합니다. | EC2 인스턴스의 Amazon Machine Image(AMI)를 선택합니다. 인스턴스 크기를 선택하고 인스턴스 세부 정보, 즉 인스턴스 수(1), 이전 단계의 VPC 및 서브넷, 퍼블릭 IP 자동 할당 및 기타 옵션을 구성합니다. 스토리지를 추가하고, 보안 그룹을 구성하여 인스턴스를 시작합니다. 메시지가 표시되면 다음 단계를 위해 키 페어를 생성하고 저장합니다. | AWS SysAdmin |
EC2 인스턴스에 Oracle을 설치합니다. | 라이선스와 필요한 Oracle 바이너리를 획득하고 EC2 인스턴스에 Oracle 10g 또는 11g을 설치합니다. | DBA |
작업 | 설명 | 필요한 기술 |
---|---|---|
를 설정합니다 SharePlex. | Amazon EC2 인스턴스를 생성하고 Oracle 8i 또는 9i와 호환되는 SharePlex 바이너리를 설치합니다. | AWS SysAdmin, DBA |
데이터 복제를 구성합니다. | SharePlex 모범 사례에 따라 온프레미스 Oracle 8i/9i 데이터베이스에서 Oracle 10g/11g 인스턴스로 데이터 복제를 구성합니다. | DBA |
작업 | 설명 | 필요한 기술 |
---|---|---|
AWS 를 설정합니다SCT. | 새 보고서를 생성한 다음 소스로 Oracle에 연결하고 대상으로 PostgreSQL에 연결합니다. 프로젝트 설정에서 SQL 스크립팅 탭을 열고 대상 SQL 스크립트를 다중 파일로 변경합니다. | DBA |
Oracle 데이터베이스 스키마를 변환합니다. | 작업 탭에서 보고서 생성, 스키마 변환을 선택한 다음 로 저장을 선택합니다SQL. | DBA |
에서 생성된 SQL 스크립트를 수정합니다AWSSCT. | DBA |
작업 | 설명 | 필요한 기술 |
---|---|---|
Amazon RDS DB 인스턴스를 생성합니다. | Amazon RDS 콘솔에서 새 PostgreSQL DB 인스턴스를 생성합니다. | AWS SysAdmin, DBA |
DB 인스턴스를 구성합니다. | DB 엔진 버전, DB 인스턴스 클래스, 다중 AZ 배포, 스토리지 유형, 할당된 스토리지를 지정합니다. DB 인스턴스 식별자, 마스터 사용자 이름, 마스터 암호를 입력합니다. | AWS SysAdmin, DBA |
네트워크 및 보안을 구성합니다. | VPC, 서브넷 그룹, 퍼블릭 액세스 가능성, 가용 영역 기본 설정 및 보안 그룹을 지정합니다. | AWS SysAdmin, DBA |
데이터베이스 옵션을 구성합니다. | 데이터베이스 이름, 포트, 파라미터 그룹, 암호화, 마스터 키를 지정합니다. | AWS SysAdmin, DBA |
백업을 구성합니다. | 백업 보존 기간, 백업 기간, 시작 시간, 기간 및 스냅샷에 태그를 복사할지 여부를 지정합니다. | AWS SysAdmin, DBA |
모니터링 옵션을 구성합니다. | 향상된 모니터링 및 성능 개선 도우미를 활성화하거나 비활성화합니다. | AWS SysAdmin, DBA |
유지 관리 옵션을 구성합니다. | 마이너 버전 자동 업그레이드, 유지 관리 기간, 시작 날짜, 시간 및 기간을 지정합니다. | AWS SysAdmin, DBA |
에서 마이그레이션 전 스크립트를 실행합니다AWSSCT. | Amazon RDS 인스턴스에서 create_database.sql, create_sequence.sql, create_table.sql, create_view.sql 및 create_function.sql 스크립트를 실행합니다. | AWS SysAdmin, DBA |
작업 | 설명 | 필요한 기술 |
---|---|---|
에서 복제 인스턴스를 생성합니다AWSDMS. | 이름, 인스턴스 클래스, VPC (EC2인스턴스와 동일), 다중 AZ 및 퍼블릭 액세스 가능성 필드를 작성합니다. 고급 구성 섹션에서 할당된 스토리지, 서브넷 그룹, 가용 영역, VPC 보안 그룹 및 AWS Key Management Service(AWS KMS) 루트 키를 지정합니다. | AWS SysAdmin, DBA |
소스 데이터베이스 엔드포인트를 생성합니다. | 엔드포인트 이름, 유형, 소스 엔진(Oracle), 서버 이름(Amazon EC2 프라이빗 DNS 이름), 포트, SSL 모드, 사용자 이름, 암호, SID, VPC (복제 인스턴스가 VPC 있는 를 지정) 및 복제 인스턴스를 지정합니다. 연결을 테스트하려면 테스트 실행 선택한 다음 엔드포인트를 생성합니다. 또한 다음과 같은 고급 설정과 numberDataType스케일을 구성할 수 maxFileSize 있습니다. | AWS SysAdmin, DBA |
AWS DMS 복제 작업을 생성합니다. | 작업 이름, 복제 인스턴스, 소스 및 대상 엔드포인트, 복제 인스턴스를 지정합니다. 마이그레이션 유형에서 "기존 데이터 마이그레이션 및 진행 중인 변경 사항 복제"를 선택합니다. "생성 시 작업 시작" 확인란을 선택 취소합니다. | AWS SysAdmin, DBA |
AWS DMS 복제 작업 설정을 구성합니다. | 대상 테이블 준비 모드에서 "아무 작업 안 함"을 선택합니다. 전체 로드가 완료된 후 작업을 중지하여 프라이머리 키를 생성합니다. 제한 또는 전체 LOB 모드를 지정하고 제어 테이블을 활성화합니다. 선택적으로 CommitRate 고급 설정을 구성할 수 있습니다. | DBA |
테이블 매핑을 구성합니다. | 테이블 매핑 섹션에서 마이그레이션에 포함된 모든 스키마의 모든 테이블에 대한 Include 규칙을 생성한 다음 Exclude 규칙을 생성합니다. 스키마, 테이블 및 열 이름을 소문자로 변환하는 세 가지 변환 규칙을 추가하고 이 특정 마이그레이션에 필요한 다른 규칙을 추가합니다. | DBA |
작업을 시작합니다. | 복제 작업을 시작합니다. 전체 로드가 실행 중인지 확인합니다. 기본 Oracle 데이터베이스ALTERSYSTEMSWITCHLOGFILE에서 를 실행하여 작업을 시작합니다. | DBA |
에서 중간 마이그레이션 스크립트를 실행합니다AWSSCT. | Amazon RDS for Postgre 에서 create_index.sql 및 create_constraint.sql 스크립트를 SQL실행합니다. | DBA |
작업을 다시 시작하여 데이터 캡처 변경()을 계속합니다CDC. | Amazon RDS for PostgreSQL DB 인스턴스에서 를 실행VACUUM하고 AWS DMS 작업을 다시 시작하여 캐시된 CDC 변경 사항을 적용합니다. | DBA |
작업 | 설명 | 필요한 기술 |
---|---|---|
AWS DMS 로그 및 메타데이터 테이블을 확인합니다. | 오류를 검증하고 필요한 경우 수정합니다. | DBA |
모든 Oracle 종속성을 중지합니다. | Oracle 데이터베이스에서 리스너를 종료하고 ALTER SYSTEM SWITCH 를 실행합니다LOGFILE. 활동이 표시되지 않으면 AWS DMS 작업을 중지합니다. | DBA |
에서 마이그레이션 후 스크립트를 실행합니다AWSSCT. | Amazon RDS for Postgre 에서 create_foreign_key_constraint.sql 및 create_triggers.sql 스크립트를 SQL실행합니다. | DBA |
추가 Amazon RDS for PostgreSQL 단계를 완료합니다. | 필요한 경우 Oracle과 일치하도록 시퀀스를 늘리고, VACUUM 및 를 실행하고ANALYZE, 규정 준수를 위한 스냅샷을 생성합니다. | DBA |
Amazon RDS for Postgre에 대한 연결을 엽니다SQL. | Amazon RDS for Postgre 에서 AWS DMS 보안 그룹을 제거하고 SQL프로덕션 보안 그룹을 추가한 다음 애플리케이션을 새 데이터베이스로 지정합니다. | DBA |
AWS DMS 리소스를 정리합니다. | 엔드포인트, 복제 작업, 복제 인스턴스 및 EC2 인스턴스를 제거합니다. | SysAdmin, DBA |