

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

# AWS DMS 및 AWS SCT를 사용하여 Aurora PostgreSQL로 Oracle 데이터베이스를 마이그레이션하기
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct"></a>

*Senthil Ramasamy, Amazon Web Services*

## 요약
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-summary"></a>

이 패턴은 AWS Data Migration Service(AWS DMS) 및 AWS Schema Conversion Tool(AWS SCT)을 사용하여 Oracle 데이터베이스를 Amazon Aurora PostgreSQL-Compatible Edition으로 마이그레이션하는 방법을 설명합니다. 

이 패턴에는 온프레미스에 있는 원본 Oracle 데이터베이스, Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 설치된 Oracle 데이터베이스, Oracle 데이터베이스용 Amazon Relational Database Service(RDS)가 포함됩니다. 이 패턴은 이러한 데이터베이스를 Aurora PostgreSQL-Compatible로 변환합니다.

## 사전 조건 및 제한 사항
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-prereqs"></a>

**사전 조건 **
+ 활성 상태의 계정
+ 온프레미스 데이터 센터 또는 AWS 클라우드의 Oracle 데이터베이스.
+ 로컬 시스템 또는 EC2 인스턴스에 설치된 SQL 클라이언트.
+ AWS SCT가 설치된 로컬 시스템 또는 EC2 인스턴스에 설치되는 AWS SCT 커넥터용 자바 데이터베이스 연결(JDBC) 드라이버.

**제한 사항 **
+ 데이터베이스 크기 제한: 128TB 
+ 소스 데이터베이스가 상용 COTS(기성품) 애플리케이션을 지원하거나 공급업체별 데이터베이스인 경우 다른 데이터베이스 엔진으로 변환하지 못할 수 있습니다. 이 패턴을 사용하기 전에 애플리케이션이 Aurora PostgreSQL-Compatible을 지원하는지 확인하십시오. 

**제품 버전**
+ 원본으로 자체 관리형 Oracle 데이터베이스의 경우, 10.x 버전은 10.2 이상, 11g 및 12.2 이하, 18c 및 19c의 모든 Oracle 데이터베이스 버전을 지원합니다. 지원되는 Oracle 데이터베이스 버전(자체 관리형 버전과 Amazon RDS for Oracle)의 최신 목록은 [Oracle 데이터베이스를 AWS DMS의 소스로 사용](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) 및 [PostgreSQL 데이터베이스를 AWS DMS의 대상으로 사용](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)을 참고하십시오.
+ 가장 종합적인 버전 및 기능 지원을 위해 최신 버전의 AWS DMS를 사용하는 것을 권장합니다. AWS SCT에서 지원하는 Oracle 데이터베이스 버전에 대한 자세한 내용은 [AWS SCT 설명서](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)를 참고하십시오. 
+ Aurora는 [Amazon Aurora PostgreSQL 릴리스 및 엔진 버전](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html)에 나열된 PostgreSQL 버전을 지원합니다.

## 아키텍처
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-architecture"></a>

**소스 기술 스택**

다음 중 하나입니다.
+ 온프레미스 Oracle 데이터베이스
+ EC2 인스턴스의 Oracle 데이터베이스  
+ Amazon RDS for Oracle DB 인스턴스

**대상 기술 스택**
+ Aurora PostgreSQL-Compatible 

**대상 아키텍처**

![Oracle 데이터베이스를 Aurora PostgreSQL-Compatible로 마이그레이션하기 위한 대상 아키텍처.](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/6de157c4-dcc9-4186-ae32-17efbbbee709/images/68beb634-926e-4908-97b1-edcd23e06a2b.png)


**데이터 마이그레이션 아키텍처**
+ AWS Cloud에서 실행 중인 Oracle 데이터베이스에서   
![AWS 기반 Oracle 데이터베이스의 데이터 마이그레이션 아키텍처.](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/6de157c4-dcc9-4186-ae32-17efbbbee709/images/7fc32019-3db1-485b-93e5-6d5539be048c.png)

   
+ 온프레미스 데이터 센터에서 실행 중인 Oracle 데이터베이스에서  
![온프레미스 데이터 센터의 Oracle 데이터베이스용 데이터 마이그레이션 아키텍처.](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/6de157c4-dcc9-4186-ae32-17efbbbee709/images/c70d8774-aef7-4414-9766-ce8f25757c4b.png)

## 도구
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-tools"></a>
+ [AWS Database Migration Service(AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)를 사용하면 데이터 스토어를 AWS 클라우드로 마이그레이션하거나 클라우드와 온프레미스 설정 조합 간에 마이그레이션할 수 있습니다.
+ [AWS Schema Conversion Tool(AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)은 소스 데이터베이스 스키마와 대부분의 사용자 지정 코드를 대상 데이터베이스와 호환되는 형식으로 자동 변환하여 이기종 데이터베이스 마이그레이션을 지원합니다.

## 에픽
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-epics"></a>

### 마이그레이션 준비
<a name="prepare-for-the-migration"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 소스 데이터베이스를 준비합니다. | 소스 데이터베이스를 준비하려면 AWS SCT 설명서의 [AWS SCT용 소스로 Oracle 데이터베이스 사용하기](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)를 참고하십시오. | DBA | 
| AWS SCT용 EC2 인스턴스를 생성합니다. | 필요한 경우 AWS SCT용 EC2 인스턴스를 생성하고 구성합니다. | DBA | 
| AWS SCT를 다운로드하십시오. | 최신 버전의 AWS SCT 및 관련 드라이버를 다운로드합니다. 자세한 내용은 AWS SCT 설명서의 [AWS SCT 설치, 확인 및 업데이트](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html)를 참고하십시오. | DBA | 
| 사용자 및 권한을 추가합니다. | 소스 데이터베이스에 필수 사용자 및 권한을 추가하고 검증합니다. | DBA | 
| AWS SCT 프로젝트를 생성합니다. | 워크로드용 AWS SCT 프로젝트를 생성하고 소스 데이터베이스에 연결합니다. 지침은 AWS SCT 설명서의 [AWS SCT 프로젝트 생성](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.Project) 및 [데이터베이스 서버 추가](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AddServers)를 참고하십시오. | DBA | 
| 타당성을 평가합니다. | 자동으로 변환할 수 없는 스키마의 작업 항목을 요약하고 수동 변환 작업에 대한 추정치를 제공하는 평가 보고서를 생성합니다. 자세한 내용은 AWS SCT 설명서의 [데이터베이스 마이그레이션 평가 보고서 생성 및 검토](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AssessmentReport)를 참고하십시오. | DBA | 

### 대상 데이터베이스를 준비합니다.
<a name="prepare-the-target-database"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 대상 Amazon RDS DB 인스턴스를 생성합니다. | Amazon Aurora를 데이터베이스 엔진으로 사용하여 대상 Amazon RDS DB 인스턴스를 생성합니다. 지침은 Amazon RDS 설명서의 [Amazon RDS DB 인스턴스 생성](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html)을 참고하십시오. | DBA | 
| 사용자, 역할, 권한을 추출합니다. | 소스 데이터베이스에서 사용자, 역할 및 권한 목록을 추출합니다. | DBA | 
| 지도 사용자. | 기존 데이터베이스 사용자를 새 데이터베이스 사용자에 매핑합니다. | 앱 소유자 | 
| 사용자를 생성합니다. | 대상 데이터베이스에서 사용자를 생성합니다. | DBA, 앱 소유자 | 
| 역할을 적용합니다. | 대상 데이터베이스에 이전 단계의 역할을 적용합니다. | DBA | 
| 옵션, 매개변수, 네트워크 파일, 데이터베이스 링크를 확인하십시오. | 소스 데이터베이스에서 옵션, 매개변수, 네트워크 파일 및 데이터베이스 링크를 검토한 다음, 대상 데이터베이스에 적용할 수 있는지 평가하십시오. | DBA | 
| 설정을 적용합니다. | 대상 데이터베이스에 관련 설정을 적용합니다. | DBA | 

### 객체 전송
<a name="transfer-objects"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| AWS SCT 연결을 구성합니다. | 대상 데이터베이스에 대한 AWS SCT 연결을 구성합니다. | DBA | 
| AWS SCT를 사용하여 스키마를 변환합니다. | AWS SCT는 소스 데이터베이스 스키마와 대부분의 사용자 지정 코드를 대상 데이터베이스와 호환되는 형식으로 자동 변환합니다. 도구가 자동으로 변환할 수 없는 코드는 명확하게 표시되므로 수동으로 변환할 수 있습니다. | DBA | 
| 보고서를 검토합니다. | 생성된 SQL 보고서를 검토하고 모든 오류 및 경고를 저장합니다. | DBA | 
| 자동화된 스키마 변경 사항을 적용합니다. | 자동화된 스키마 변경 사항을 대상 데이터베이스에 적용하거나 .sql 파일로 저장합니다. | DBA | 
| 객체를 검증합니다. | AWS SCT가 대상에 객체를 생성했는지 확인합니다. | DBA | 
| 변환되지 않은 항목을 처리합니다. | 자동 변환에 실패한 모든 항목을 수동으로 재작성, 거부 또는 재설계하세요. | DBA, 앱 소유자 | 
| 역할 및 사용자 권한을 적용합니다. | 생성된 역할 및 사용자 권한을 적용하고 예외를 검토합니다. | DBA | 

### 데이터 마이그레이션
<a name="migrate-the-data"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 방법을 결정합니다. | 데이터 마이그레이션 방법을 결정합니다. | DBA | 
| 복제 인스턴스를 생성합니다. | AWS DMS 콘솔에서 복제 인스턴스를 생성합니다. 자세한 내용은 AWS DMS 설명서의 [AWS DMS 복제 인스턴스 사용하기](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html)를 참고하십시오. | DBA | 
| 원본 및 대상 엔드포인트를 생성합니다. | 엔드포인트를 생성하려면 [AWS DMS 설명서의 소스 및 대상 엔드포인트 생성](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) 지침을 따르십시오. | DBA | 
| 복제 작업을 생성합니다. | 작업을 생성하려면 AWS DMS 설명서의 [AWS DMS 작업 사용](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html)을 참고하십시오. | DBA | 
| 복제 작업을 시작하고 로그를 모니터링합니다. | 이 단계에 대한 자세한 내용은 AWS DMS 설명서의 [AWS DMS 작업 모니터링](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html)을 참고하십시오. | DBA | 

### 애플리케이션 마이그레이션
<a name="migrate-the-application"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 애플리케이션 코드의 SQL 항목을 분석하고 변환합니다. | AWS SCT를 사용하여 애플리케이션 코드 내에서 SQL 항목을 분석하고 변환합니다. 한 엔진에서 다른 엔진으로 데이터베이스 스키마를 변환할 때는 이전 데이터베이스 엔진 대신 새 데이터베이스 엔진과 상호 작용하도록 애플리케이션의 SQL 코드도 업데이트해야 합니다. 변환된 SQL 코드를 보고, 분석하고, 편집하고, 저장할 수 있습니다. | 앱 소유자 | 
| 애플리케이션 서버를 생성합니다. | AWS에 새 애플리케이션 서버를 생성합니다. | 앱 소유자 | 
| 애플리케이션 코드를 마이그레이션합니다. | 애플리케이션 코드를 새 서버로 마이그레이션합니다. | 앱 소유자 | 
| 애플리케이션 서버를 구성합니다. | 대상 데이터베이스 및 드라이버의 애플리케이션 서버를 구성합니다. | 앱 소유자 | 
| 코드를 수정합니다. | 애플리케이션의 소스 데이터베이스 엔진과 관련된 모든 코드를 수정합니다. | 앱 소유자 | 
| 코드를 최적화합니다. | 대상 데이터베이스 엔진에 맞게 애플리케이션 코드를 최적화합니다. | 앱 소유자 | 

### 전환
<a name="cut-over"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 타겟 데이터베이스로 전환합니다. | 새 데이터베이스로 컷오버를 수행합니다. | DBA | 
| 애플리케이션을 잠급니다. | 애플리케이션이 더 이상 변경되지 않도록 잠급니다. | 앱 소유자 | 
| 변경 사항을 검증합니다. | 모든 변경 사항이 대상 데이터베이스에 전파되었는지 확인합니다. | DBA | 
| 대상 데이터베이스로 리디렉션합니다. | 새 애플리케이션 서버를 대상 데이터베이스로 가리킵니다. | 앱 소유자 | 
| 모든 것을 확인합니다. | 최종적이고 종합적인 시스템 점검을 수행합니다. | 앱 소유자 | 
| 가동을 시작합니다. | 최종 컷오버 작업을 완료합니다. | 앱 소유자 | 

### 프로젝트 닫기
<a name="close-the-project"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 임시 리소스를 종료합니다. | AWS DMS 복제 인스턴스 및 AWS SCT에 사용되는 EC2 인스턴스와 같은 임시 AWS 리소스를 종료합니다. | DBA, 앱 소유자 | 
| 피드백을 업데이트합니다. | 내부 팀을 위한 AWS DMS 프로세스에 대한 피드백을 업데이트합니다. | DBA, 앱 소유자 | 
| 프로세스 및 템플릿을 수정합니다. | AWS DMS 프로세스를 수정하고 필요한 경우 템플릿을 개선합니다. | DBA, 앱 소유자 | 
| 문서를 검증합니다. | 프로젝트 문서를 검토하고 검증하세요. | DBA, 앱 소유자 | 
| 지표를 수집합니다. | 지표를 수집하여 마이그레이션 시간, 수동 대비 도구 비용 절감 비율 등을 평가합니다. | DBA, 앱 소유자 | 
| 프로젝트를 종료합니다. | 마이그레이션 프로젝트를 종료하고 이해관계자에게 피드백을 제공합니다. | DBA, 앱 소유자 | 

## 관련 리소스
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-resources"></a>

**참조**
+ [Oracle 데이터베이스를 AWS DMS의 원본으로 사용](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [PostgreSQL 데이터베이스를 AWS 데이터베이스 마이그레이션 서비스용 대상으로 사용](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)
+ [PostgreSQL Compatibility (9.6.x) Migration Playbook으로 Oracle Database 11g/12c를 Amazon Aurora로 ](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook.pdf) 
+ [PostgreSQL Compatibility(12.4) Migration Playbook으로 Oracle Database 19c를 Amazon Aurora로](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook-12.4.pdf)
+ [Amazon RDS for Oracle 데이터베이스를 Amazon Aurora PostgreSQL-Compatible Edition으로 마이그레이션](https://docs.aws.amazon.com/dms/latest/sbs/chap-oracle-postgresql.html)
+ [AWS Data Migration Service](https://aws.amazon.com/dms/)
+ [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ [Oracle에서 Amazon Aurora로 마이그레이션](https://aws.amazon.com/getting-started/projects/migrate-oracle-to-amazon-aurora/)
+ [Amazon RDS 요금](https://aws.amazon.com/rds/pricing/)

**자습서 및 동영상**
+ [데이터베이스 마이그레이션 단계별 안내](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html)
+ [AWS DMS 시작하기](https://aws.amazon.com/dms/getting-started/)
+ [Amazon RDS 시작](https://aws.amazon.com/rds/getting-started/)
+ [AWS Data Migration Service](https://www.youtube.com/watch?v=zb4GcjEdl8U)(동영상)
+ [Oracle 데이터베이스를 PostgreSQL로 마이그레이션하기](https://www.youtube.com/watch?v=ibtNkChGFkw) (비디오)

## 추가 정보
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-additional"></a>

.