AWS Database Migration Service - 단계별 마이그레이션 가이드

Size: px
Start display at page:

Download "AWS Database Migration Service - 단계별 마이그레이션 가이드"

Transcription

1

2 : Copyright 2018 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon.

3 Table of Contents 단계별 연습... 1 Amazon Web Services(AWS)로 데이터베이스 마이그레이션... 2 AWS Migration Tool... 2 이 가이드의 연습 단계... 2 온프레미스 Oracle 데이터베이스를 Amazon Aurora MySQL로 마이그레이션... 4 비용... 4 마이그레이션 고급 개요 단계: Oracle 원본 데이터베이스 준비 단계: Aurora MySQL 대상 데이터베이스 시작 및 준비 단계: 복제 인스턴스 시작 단계: 원본 엔드포인트 생성 단계: 대상 엔드포인트 생성 단계: 마이그레이션 작업 생성 및 실행... 7 마이그레이션 단계별 지침 단계: Oracle 원본 데이터베이스 구성 단계: Aurora 대상 데이터베이스 구성 단계: 복제 인스턴스 생성 단계: Oracle 원본 엔드포인트 생성 단계: Aurora MySQL 대상 엔드포인트 생성 단계: 마이그레이션 작업 생성 단계: 마이그레이션 작업 모니터링 문제 해결 마이그레이션을 위한 샘플 데이터베이스 사용 Amazon RDS Oracle 데이터베이스를 Amazon Aurora MySQL로 마이그레이션 비용 사전 조건 마이그레이션 아키텍처 단계별 마이그레이션 단계: CloudFormation 템플릿을 사용하여 VPC에서 RDS 인스턴스 시작 단계: 로컬 컴퓨터에 SQL 도구와 AWS Schema Conversion Tool 설치 단계: Oracle DB Instance와의 연결을 테스트하고 샘플 스키마 생성 단계: Aurora MySQL DB 인스턴스와의 연결을 테스트합니다 단계: AWS Schema Conversion Tool(AWS SCT)을 사용하여 Oracle 스키마를 Aurora MySQL로 변환합니다 단계: 스키마 변환 검증 단계: AWS DMS 복제 인스턴스를 생성합니다 단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다 단계: AWS DMS 마이그레이션 작업 생성 및 실행 단계: AWS DMS 마이그레이션이 성공적으로 완료되었는지 확인 단계: 연습 리소스 삭제 다음 단계 AWS CloudFormation 템플릿, SQL 스크립트 및 기타 리소스 참조 SQL Server 데이터베이스를 Amazon Aurora MySQL로 마이그레이션 사전 조건 단계별 마이그레이션 단계: 로컬 컴퓨터에 SQL 드라이버와 AWS Schema Conversion Tool 설치 단계: Microsoft SQL Server 원본 데이터베이스 구성 단계: Aurora MySQL 대상 데이터베이스 구성 단계: AWS SCT를 사용하여 SQL Server 스키마를 Aurora MySQL로 변환합니다 단계: AWS DMS 복제 인스턴스 생성 단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다 단계: AWS DMS 마이그레이션 작업 생성 및 실행 단계: Aurora MySQL로 전환 iii

4 문제 해결 Oracle 데이터베이스를 PostgreSQL로 마이그레이션 사전 조건 단계별 마이그레이션 단계: 로컬 컴퓨터에 SQL 드라이버와 AWS Schema Conversion Tool 설치 단계: Oracle 원본 데이터베이스 구성 단계: PostgreSQL 대상 데이터베이스 구성 단계: AWS Schema Conversion Tool(AWS SCT)을 사용하여 Oracle 스키마를 PostgreSQL로 변 환합니다 단계: AWS DMS 복제 인스턴스 생성 단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다 단계: AWS DMS 마이그레이션 작업 생성 및 실행 단계: PostgreSQL로 전환 마이그레이션 롤백 문제 해결 Amazon RDS for Oracle Database를 Amazon Redshift로 마이그레이션 사전 조건 마이그레이션 아키텍처 단계별 마이그레이션 단계: CloudFormation 템플릿을 사용하여 VPC에서 RDS 인스턴스 시작 단계: 로컬 컴퓨터에 SQL 도구와 AWS Schema Conversion Tool 설치 단계: Oracle DB Instance와의 연결을 테스트하고 샘플 스키마 생성 단계: Amazon Redshift 데이터베이스와의 연결을 테스트합니다 단계: AWS SCT를 사용하여 Oracle 스키마를 Amazon Redshift로 변환 단계: 스키마 변환 검증 단계: AWS DMS 복제 인스턴스 생성 단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다 단계: AWS DMS 마이그레이션 작업 생성 및 실행 단계: AWS DMS 마이그레이션이 성공적으로 완료되었는지 확인 단계: 연습 리소스 삭제 다음 단계 참조 MySQL 호환 데이터베이스를 AWS로 마이그레이션 MySQL 호환 데이터베이스를 Amazon Aurora MySQL로 마이그레이션 Amazon S3를 사용하여 외부 MySQL 데이터베이스의 데이터를 Amazon Aurora MySQL로 마이그레이 션 사전 조건 단계: DB 클러스터로 복원할 파일 백업 단계: Amazon S3 버킷에 파일 복사 단계: S3 버킷에서 Aurora MySQL DB 클러스터 복원 mysqldump를 사용하여 MySQL에서 Amazon Aurora MySQL로 마이그레이션 Amazon RDS MySQL DB 인스턴스에서 Amazon Aurora MySQL DB 클러스터로 데이터 마이그레이션 RDS MySQL 스냅샷을 Aurora MySQL로 마이그레이션 문서 이력 iv

5 단 계별 연습 (AWS DMS)를 사용하여 Oracle, PostgreSQL, Microsoft SQL Server, Amazon Redshift, Amazon Aurora, MariaDB, MySQL과 같이 가장 널리 사용되는 상용 및 오픈 소스 데이터 베이스와의 데이터 마이그레이션을 수행할 수 있습니다. 이 서비스는 Oracle에서 Oracle로의 동종 마이그레 이션뿐만 아니라 Oracle에서 MySQL로 또는 MySQL에서 MySQL과 호환되는 Amazon Aurora로 등 서로 다 른 데이터베이스 플랫폼 간 이종 마이그레이션도 지원합니다. 원본 또는 대상 데이터베이스는 AWS 서비스 에 있어야 합니다. 이 가이드를 통해 샘플 데이터를 AWS로 마이그레이션하는 단계별 연습을 진행할 수 있습니다: Amazon Web Services(AWS)로 데이터베이스 마이그레이션 (p. 2) 온프레미스 Oracle 데이터베이스를 Amazon Aurora MySQL로 마이그레이션 (p. 4) Amazon RDS Oracle 데이터베이스를 Amazon Aurora MySQL로 마이그레이션 (p. 23) SQL Server 데이터베이스를 Amazon Aurora MySQL로 마이그레이션 (p. 65) Oracle 데이터베이스를 PostgreSQL로 마이그레이션 (p. 87) Amazon RDS for Oracle Database를 Amazon Redshift로 마이그레이션 (p. 111) MySQL 호환 데이터베이스를 AWS로 마이그레이션 (p. 148) MySQL 호환 데이터베이스를 Amazon Aurora MySQL로 마이그레이션 (p. 149) 1

6 AWS Migration Tool Amazon Web Services(AWS)로 데이 터베이스 마이그레이션 AWS Migration Tool 여러 AWS 도구와 서비스를 사용하여 외부 데이터베이스의 데이터를 AWS로 마이그레이션할 수 있습니다. 마이그레이션할 데이터베이스 유형에 따라 데이터베이스 엔진의 기본 마이그레이션 도구가 효과적인지도 알 수 있습니다. (AWS DMS)를 통해 데이터베이스를 AWS로 효율적이고 안전하게 마이그 레이션할 수 있습니다. 마이그레이션하는 동안 소스 데이터베이스가 변함없이 운영되어 데이터베이스를 사 용하는 애플리케이션의 가동 중지 시간을 최소화할 수 있습니다. AWS DMS를 사용하면 가장 널리 사용되는 상용 및 오픈 소스 데이터베이스로 Oracle 데이터를 마이그레이션할 수 있습니다. AWS DMS는 대상 데이터베이스에 데이터, 테이블 및 기본 키를 대상 데이터베이스로 마이그레이션 합니다. 다른 모든 데이터베이스 요소는 마이그레이션되지 않습니다. 예를 들어, Oracle 데이터베이스를 MySQL과 호환되는 Amazon Aurora로 마이그레이션하는 경우, AWS DMS와 함께 AWS Schema Conversion Tool을 사용해야 합니다. AWS Schema Conversion Tool(SCT)은 보기, 저장 프로시저 및 함수를 포함하여 소스 데이터베이스 스키 마 및 사용자 지정 코드 대부분을 대상 데이터베이스와 호환되는 형식으로 자동으로 변환하여 이종 데이터 베이스를 쉽게 마이그레이션하도록 해줍니다. 자동으로 변환할 수 없는 코드는 수동으로 변환할 수 있도록 명확하게 표시됩니다. 이 도구를 사용하여 원본 Oracle 데이터베이스를 Amazon RDS 또는 EC2의 Amazon Aurora MySQL, MySQL 또는 PostgreSQL 대상 데이터베이스로 변환할 수 있습니다. AWS DMS와 AWS SCT가 다른 별개의 도구이며 각기 다른 요구 사항에 부합한다는 점, 그리고 마이그레이 션 프로세스에서 서로 상호 작용하지 못한다는 점을 이해하고 있어야 합니다. DMS 모범 사례에 따라 이 자 습서의 마이그레이션 방법이 아래에 간략하게 소개되어 있습니다. AWS DMS는 미니멀리스트 접근 방식을 취하고 기본 키가 있는 테이블 등의 데이터를 효율적으로 마이그 레이션하는 데 필요한 해당 개체만을 생성합니다. 따라서 DMS를 사용하여 외래 키나 제약 조건 없이 데이 터와 함께 테이블을 로드합니다. (SCT를 사용하여 테이블 스크립트를 생성하고 나서 DMS를 통해 로드를 생성하기 전에 대상에서 SCT를 생성합니다. SCT 활용: 문제를 식별하기 위한 스키마 변환에 대한 제한 사항 및 조치 외래 키와 제약 조건을 포함한 대상 스키마를 생성하려면 원본에서 대상으로의 절차 및 보기 등의 코드를 변환하고 대상에서 적용하려면 Oracle 데이터베이스 마이그레이션의 유형과 크기는 사용해야 하는 도구 결정에 큰 영향을 줍니다. 예를 들 어, AWS의 Oracle 데이터베이스에서 다른 데이터베이스 엔진으로 마이그레이션하는 다른 유형의 마이그레 이션 효과를 극대화하려면 AWS DMS를 수행합니다. AWS에서 Oracle 데이터베이스를 Oracle 데이터베이 스로 마이그레이션하는 같은 유형의 마이그레이션 효과를 극대화하려면 기본 Oracle 도구를 사용합니다. 이 가이드의 연습 단계 온프레미스 Oracle 데이터베이스를 Amazon Aurora MySQL로 마이그레이션 (p. 4) 2

7 이 가이드의 연습 단계 Amazon RDS Oracle 데이터베이스를 Amazon Aurora MySQL로 마이그레이션 (p. 23) SQL Server 데이터베이스를 Amazon Aurora MySQL로 마이그레이션 (p. 65) Oracle 데이터베이스를 PostgreSQL로 마이그레이션 (p. 87) Amazon RDS for Oracle Database를 Amazon Redshift로 마이그레이션 (p. 111) MySQL 호환 데이터베이스를 AWS로 마이그레이션 (p. 148) MySQL 호환 데이터베이스를 Amazon Aurora MySQL로 마이그레이션 (p. 149) 3

8 비용 온프레미스 Oracle 데이터베이스를 Amazon Aurora MySQL로 마이그레 이션 다음에서는 고급 개요와 함께 (AWS DMS)와 AWS Schema Conversion Tool(AWS SCT)을 사용하여 온프레미스 Oracle 데이터베이스(소스 엔드포인트)를 MySQL과 호환되는 Amazon Aurora(대상 엔드포인트)로 마이그레이션하는 과정을 보여 주는 완벽한 단계별 연습을 다룹니다. AWS DMS는 데이터를 Oracle 원본에서 Aurora MySQL 대상으로 마이그레이션합니다. 또한 AWS DMS는 원본 데이터베이스에서 나타나는 데이터 조작 언어(DML) 및 데이터 정의 언어(DDL) 변경 사항을 캡처하고 대상 데이터베이스에 이 변경 사항을 적용합니다. 이런 방식으로 AWS DMS를 통해 원본과 대상 데이터베이 스를 서로 지속적으로 동기화할 수 있습니다. 데이터 마이그레이션을 수월하게 진행하기 위해 필요에 따라 DMS는 대상 데이터베이스에서 테이블과 기본 키 인덱스를 생성합니다. 그렇지만, AWS DMS는 특히 데이터 마이그레이션과 관련되지 않은 보조 인덱스, 시퀀스, 기본값, 저장된 절 차, 트리거, 동의어, 보기 및 기타 스키마 객체를 마이그레이션하지 않습니다. 이 객체를 Aurora MySQL 대상 에 마이그레이션하려면 AWS Schema Conversion Tool을 사용합니다. Amazon 샘플 데이터베이스 사용하여 진행해 볼 것을 적극 권장합니다. 샘플 데이터베이스를 사용하고 샘플 데이터베이스 사본을 가져오는 방법에 대한 지침이 나온 자습서를 확인하려면 마이그레이션을 위한 샘플 데 이터베이스 사용 (p. 22) 섹션을 참조하십시오. 이전에 AWS DMS를 사용했거나 읽기보다 마우스 클릭을 선호하는 경우에는 고급 개요를 사용해야 합니다. 세부 정보가 필요하고 보다 신중한 접근 방식을 취해야 하는 경우(또는 문제가 생긴 경우), 단계별 지침을 참 조하는 것이 좋습니다. 주제: 온프레미스 Oracle에서 Amazon RDS의 Aurora MySQL 또는 MySQL로 마이그레이션 시간: 비용: 원본 데이터베이스: Oracle 대상 데이터베이스: Amazon Aurora MySQL/MySQL 제한 사항: Oracle Edition: Enterprise, Standard, Express 및 Personal Oracle 버전: 10g(10.2 이상), 11g, 12c(Amazon Relational Database Service(Amazon RDS)에서는 11g 이 상이 필요함.) MySQL 또는 관련 데이터베이스 버전: 5.5, 5.6, 5.7, MariaDB, Amazon Aurora MySQL 문자 집합: utf8mb4는 현재 지원되지 않습니다. 비용 AWS DMS에는 아직 계산기가 포함되어 있지 않기 때문에 예상 요금은 다음 표를 참조하십시오. 4

9 마이그레이션 고급 개요 사용자 PC 설정 외에도, 여러 AWS 구성 요소를 생성하여 마이그레이션 프로세스를 완료해야 합니다. AWS 구성 요소에는 다음이 포함됩니다. AWS 서비스 유형 설명 Amazon Aurora MySQL DB 인스턴스 db.r3.large 단일 AZ, 10GB 스 토리지, I/O 100만 개 AWS DMS 복제 인스턴스 시작 T2.large 복제 로그 보관을 위한 50GB의 스토 리지 포함 AWS DMS 데이터 전송 무료, 샘플 데이터 베이스에서 전송된 데이터 양 기준. 데이터 전송 매월 첫 1GB 무료 마이그레이션 고급 개요 AWS DMS를 사용하여 데이터를 Oracle에서 Aurora MySQL로 마이그레이션하려면 다음 단계를 진행합니 다. 이전에 AWS DMS를 사용했거나 읽기보다 마우스 클릭을 선호하는 경우에는 다음 요약이 마이그레이션 을 빠르게 시작하는 데 도움이 됩니다. 마이그레이션에 대한 세부 정보가 필요하거나 문제가 생긴 경우 단계 별 지침을 참조하십시오. 1단계: Oracle 원본 데이터베이스 준비 AWS DMS를 사용하여 Oracle 원본 데이터베이스의 데이터를 마이그레이션하려면 일부 준비 과정이 필요하 므로 모범 사례로서 몇 가지 추가 단계를 권장합니다. AWS DMS 계정 데이터를 마이그레이션하는 특정 용도에 적합한 별도의 계정을 생성하는 것이 좋습니 다. 이 계정에는 데이터를 마이그레이션하는 데 필요한 최소 권한 집합이 있어야 합니다. 이 권한에 대한 특정 세부 정보는 아래에 간략하게 나와 있습니다. 단순히 비프로덕션 데이터베이스에서 AWS DMS를 테 스트하는 데 관심이 있는 경우에는 어느 DBA 계정이라도 충분합니다. 보충 로깅 변경 사항을 캡처하려면, DMS를 사용할 수 있도록 보충 로깅을 활성화해야 합니다. 데이터베 이스 수준에서 보충 로깅을 활성화하려면, 다음 명령을 발행합니다. ALTER DATABASE ADD SUPPLEMENTAL LOG DATA 또한, AWS DMS에서는 각각의 테이블이 마이그레이션되어야 하므로, 최소 키 수준의 보충 로깅을 설정합 니다. 원본 연결을 위해 다음 추가 연결 파라미터를 포함하는 경우 AWS DMS는 이 보충 로깅을 자동으로 추가합니다. addsupplementallogging=y 원본 데이터베이스 데이터를 마이그레이션하려면, AWS DMS 복제 서버에 원본 데이터베이스에 대한 액 세스 권한이 필요합니다. 방화벽 규칙이 AWS DMS 복제 서버에 수신을 허용하는지 확인합니다. 2단계: Aurora MySQL 대상 데이터베이스 시작 및 준비 다음은 Aurora MySQL 인스턴스를 시작할 때 고려해야 하는 몇 가지 사항입니다. 5

10 3단계: 복제 인스턴스 시작 최상의 결과를 얻으려면, Aurora MySQL 인스턴스와 복제 인스턴스를 동일한 VPC에 배치하고 가능한 경 우에 동일한 가용 영역에 배치하는 것이 좋습니다. 데이터를 마이그레이션하기 위해 최소 권한을 가진 별도의 계정을 생성하는 것이 좋습니다. AWS DMS 계 정은 데이터가 마이그레이션되고 있는 모든 데이터베이스에 대해 다음 권한이 필요합니다. ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE, SELECT 또한, AWS DMS에는 awsdms_control 데이터베이스에 대한 전체 액세스 권한이 있어야 합니다. 이 데이터 베이스에는 마이그레이션별로 AWS DMS에서 필요한 정보가 담겨 있습니다. 액세스 권한을 부여하려면, 다음 명령을 실행합니다. ALL PRIVILEGES ON awsdms_control.* TO 'dms_user' 3단계: 복제 인스턴스 시작 AWS DMS 서비스는 복제 인스턴스의 원본과 대상 데이터베이스에 연결됩니다. 다음은 복제 인스턴스를 시 작할 때 고려해야 하는 몇 가지 사항입니다. 최상의 결과를 얻으려면, 이 Aurora MySQL의 경우에 Aurora 인스턴스와 복제 인스턴스를 대상 데이터베 이스와 동일한 VPC 및 가용 영역에 배치하는 것이 좋습니다. 원본 또는 대상 데이터베이스가 복제 서버를 시작하는 VPC 외부에 있는 경우, 복제 서버를 공개적으로 액 세스할 수 있어야 합니다. AWS DMS는 상당히 많은 메모리와 CPU를 소모할 수 있습니다. 그렇지만, 필요에 따라 매우 쉽게 확장할 수 있습니다. 단일 복제 서버 또는 에서 여러 작업을 실행할 것으로 예상되는 경우 기본 스토리지는 대개 대다수 마이그레이션에 충분합니다. 4단계: 원본 엔드포인트 생성 AWS DMS가 Oracle 원본 데이터베이스에 액세스하려면, 원본 엔드포인트를 생성해야 합니다. 원본 엔드포 인트는 AWS DMS가 복제 서버에서 원본 데이터베이스에 연결하는 데 필요한 모든 정보를 정의합니다. 다음 은 원본 엔드포인트에 대한 일부 요구 사항입니다. 원본 엔드포인트는 복제 서버에서 액세스 가능해야 합니다. 이 작업을 허용하려면, 복제 서버를 화이트리 스트로 지정할 수 있도록 방화벽 규칙을 수정해야 할 수도 있습니다. AWS DMS 관리 콘솔에 복제 서버의 IP 주소가 나와 있습니다. AWS DMS가 변경 사항을 캡처할 수 있도록 Oracle에서 보충 로깅을 활성화해야 합니다. AWS DMS에서 보충 로깅을 자동으로 활성화하도록 하려면, Oracle 원본 엔드포인트의 추가 연결 속성에 다음을 추가해야 합니다. addsupplementallogging=y 5단계: 대상 엔드포인트 생성 AWS DMS가 Aurora MySQL 대상 데이터베이스에 액세스할 수 있도록 대상 엔드포인트를 생성해야 합니다. 대상 엔드포인트는 DMS가 Aurora MySQL 데이터베이스에 연결하는 데 필요한 모든 정보를 정의합니다. 대상 엔드포인트는 복제 서버에서 액세스 가능해야 합니다. 대상 엔드포인트가 액세스할 수 있도록 보안 그룹을 수정해야 할 수도 있습니다. 대상에서 데이터베이스를 미리 생성한 경우, 전체 로드 중에 외래 키 점검을 비활성화하는 것이 좋습니다. 이를 위해 추가 연결 속성에 다음을 연결해야 합니다. 6

11 6단계: 마이그레이션 작업 생성 및 실행 initstmt=set FOREIGN_KEY_CHECKS=0 6단계: 마이그레이션 작업 생성 및 실행 마이그레이션 작업에서는 데이터가 마이그레이션되는 위치와 방법을 AWS DMS에 지시합니다. 마이그레이 션 작업을 생성할 때에는 다음과 같이 마이그레이션 파라미터 설정을 고려해야 합니다. [Endpoints and replication server] 위에서 생성된 엔드포인트와 복제 서버를 선택합니다. 마이그레이션 유형 대다수의 경우에 [migrate existing data and replication ongoing changes]를 선택해야 합니다. 이 옵션을 통해 AWS DMS에서는 원본 데이터를 로드하는 동시에 데이터 변경 사항을 캡처합니다. 데이터 전체를 로드하고 나면, AWS DMS는 대기 중인 변경 사항을 모두 적용하고 작업이 중지될 때까지 원 본 및 대상 데이터베이스를 계속 동기화합니다. [Target table preparation mode ] AWS DMS에서 테이블을 생성하도록 하는 경우, [drop tables on target] 을 선택합니다. 대상 테이블을 생성하는 데 AWS Schema Conversion Tool과 같은 다른 방법을 사용하는 경 우, [truncate]를 선택합니다. [LOB 파라미터 ] AWS DMS만을 사용하려는 경우, [include LOB columns in replication], [Limited LOB mode]를 선택하고, [max LOB size to 16](16k임)을 설정합니다. LOB에 대한 자세한 내용은 단계별 지침의 세부 정보를 참조하십시오. [Enable logging ] 마이그레이션 문제를 쉽게 디버깅하려면 항상 로깅을 활성화합니다. [Table mappings ] Oracle에서 Aurora MySQL로 마이그레이션할 때에는 스키마, 테이블, 열 이름을 소 문자로 변환하는 것이 좋습니다. 이렇게 하려면, 사용자 지정 테이블 매핑을 생성합니다. 다음은 스키마 DMS_SAMPLE를 마이그레이션하고 스키마, 테이블 및 열 이름을 소문자로 변환하는 예제입니다. { "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "DMS_SAMPLE", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "transformation", "rule-id": "6", "rule-name": "6", "rule-action": "convert-lowercase", "rule-target": "schema", "object-locator": { "schema-name": "%" } }, { "rule-type": "transformation", "rule-id": "7", "rule-name": "7", "rule-action": "convert-lowercase", "rule-target": "table", "object-locator": { "schema-name": "%", "table-name": "%" 7

12 마이그레이션 단계별 지침 } }, { } ] } "rule-type": "transformation", "rule-id": "8", "rule-name": "8", "rule-action": "convert-lowercase", "rule-target": "column", "object-locator": { "schema-name": "%", "table-name": "%", "column-name": "%" } 마이그레이션 단계별 지침 다음에는 Oracle 데이터베이스를 온프레미스 환경에서 Amazon Aurora MySQL로 마이그레이션하는 단계별 지침이 나와 있습니다. 이 지침에서는 사용자가 AWS 데이터베이스 마이그레이션 서비스를 사용하기 위한 설정에 나오는 AWS DMS 사용을 위한 설정 단계를 이미 완료했다고 가정합니다. 항목 1단계: Oracle 원본 데이터베이스 구성 (p. 8) 2단계: Aurora 대상 데이터베이스 구성 (p. 10) 3단계: 복제 인스턴스 생성 (p. 11) 4단계: Oracle 원본 엔드포인트 생성 (p. 13) 5단계: Aurora MySQL 대상 엔드포인트 생성 (p. 15) 6단계: 마이그레이션 작업 생성 (p. 16) 7단계: 마이그레이션 작업 모니터링 (p. 21) 문제 해결 (p. 21) 1단계: Oracle 원본 데이터베이스 구성 (AWS DMS)에서 Oracle을 원본으로 사용하려면, 먼저 LogMiner에 정보를 제공할 수 있도록 ARCHIVELOG MODE가 켜져 있는지 확인해야 합니다. AWS DMS에서는 보관 로그의 정 보를 읽을 수 있도록 LogMiner를 사용하므로 AWS DMS에서 변경 사항을 캡처할 수 있습니다. AWS DMS가 이 정보를 읽을 수 있도록 AWS DMS에서 보관 로그를 필요로 하는 한 이 보관 로그가 데이터 베이스 서버에 보존되어 있는지 확인해야 합니다. 즉시 변경 사항 캡처를 시작하도록 작업을 구성하는 경우, 가장 긴 실행 트랜잭션의 기간보다 약간 더 오랫동안 보관 로그만을 보존해야 합니다. 대개 24시간 동안 보관 로그를 보존하면 충분합니다. 과거의 특정 시점에 시작하도록 작업을 구성하는 경우, 앞으로는 보관 로그를 사용할 수 있어야 합니다. ARCHIVELOG MODE를 활성화하고 사용자의 온프레미스 Oracle 데이터베이스에 서 로그 보존을 보장하기 위한 자세한 지침은 Oracle 설명서를 참조하십시오. 변경 사항을 캡처할 수 있도록 AWS DMS에서는 보충 로깅을 AWS DMS의 원본 데이터베이스에서 활성화해 야 합니다. 최소 보충 로깅은 데이터베이스 수준에서 활성화되어야 합니다. 또한 AWS DMS에서는 식별 키 로깅을 활성화해야 합니다. 이 옵션으로 인해 기본 키를 포함하는 행을 업데이트할 때마다(기본 키의 값이 변 경되지 않았을 경우에도) 데이터베이스는 행의 기본 키 열 전체를 다시 실행 로그 파일에 배치합니다. 데이터 베이스 또는 테이블 수준에서 이 옵션을 설정할 수 있습니다. Oracle 원본이 Amazon RDS에 있는 경우, 백업을 활성화한 경우에 한해 데이터베이스는 ARCHIVELOG MODE에 배치됩니다. 다음은 RDS 원본에 24시간 동안 보관 로그를 보존해주는 명령입니다. 8

13 1단계: Oracle 원본 데이터베이스 구성 exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24); Oracle 원본 데이터베이스를 구성하려면 1. 다음 명령을 실행하여 데이터베이스 수준에서 보충 로깅을 활성화합니다. 이때 AWS DMS에서는 다음 작업이 필요합니다. ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; For RDS: exec rdsadmin.rdsadmin_util.alter_supplemental_logging('add'); 2. 다음 명령을 사용하여 데이터베이스 수준에서 식별 키 보충 로깅을 활성화합니다. AWS DMS에서 필요 에 따라 보충 로깅을 자동으로 추가하거나 테이블 수준에서 키 수준 보충 로깅을 활성화하도록 허용하지 않을 경우 AWS DMS에서는 데이터베이스 수준에서 보충 키 로깅이 필요합니다. ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS; For RDS: exec rdsadmin.rdsadmin_util.alter_supplemental_logging('add','primary KEY'); 3. 키 수준 보충 로깅을 활성화하면 원본 데이터베이스는 약간의 오버헤드를 발생시킵니다. 따라서 테이블 하위 집합만을 마이그레이션할 경우, 테이블 수준에서 키 수준의 보충 로깅을 활성화해야 할 수도 있습 니다. 테이블 수준에서 키 수준의 보충 로깅을 활성화하려면 다음 명령을 사용합니다. alter table table_name add supplemental log data (PRIMARY KEY) columns; 테이블에 기본 키가 없는 경우 옵션 2개가 있습니다. 테이블에서 첫 번째 고유 인덱스에 포함된 모든 열에 보충 로깅을 추가할 수 있습니다(인덱스 이름별 로 정렬). 테이블의 모든 열에서 보충 로깅을 추가할 수 있습니다. 테이블에서 열의 하위 집합(고유 인덱스에 포함된 열)에 보충 로깅을 추가하려면, 다음 명령을 실행합니 다. ALTER TABLE table_name ADD SUPPLEMENTAL LOG GROUP example_log_group (ID,NAME) ALWAYS; 모든 테이블 열에서 보충 로깅을 추가하려면, 다음 명령을 실행합니다. alter table table_name add supplemental log data (ALL) columns; 4. AWS DMS에서 사용하는 데이터베이스 계정을 생성하거나 구성합니다. AWS DMS 연결을 위해 AWS DMS에서 필요한 최소 권한을 가진 별도의 계정을 사용하는 것이 좋습니다. AWS DMS에서는 다음 권한 이 필요합니다. CREATE SELECT SELECT SELECT SESSION ANY TRANSACTION on V_$ARCHIVED_LOG on V_$LOG 9

14 2단계: Aurora 대상 데이터베이스 구성 SELECT on V_$LOGFILE SELECT on V_$DATABASE SELECT on V_$THREAD SELECT on V_$PARAMETER SELECT on V_$NLS_PARAMETERS SELECT on V_$TIMEZONE_NAMES SELECT on V_$TRANSACTION SELECT on ALL_INDEXES SELECT on ALL_OBJECTS SELECT on ALL_TABLES SELECT on ALL_USERS SELECT on ALL_CATALOG SELECT on ALL_CONSTRAINTS SELECT on ALL_CONS_COLUMNS SELECT on ALL_TAB_COLS SELECT on ALL_IND_COLUMNS SELECT on ALL_LOG_GROUPS SELECT on SYS.DBA_REGISTRY SELECT on SYS.OBJ$ SELECT on DBA_TABLESPACES SELECT on ALL_TAB_PARTITIONS SELECT on ALL_ENCRYPTED_COLUMNS * SELECT on all tables migrated 변경 사항(CDC)을 캡처하고 적용하려면 다음 권한도 필요합니다. EXECUTE on DBMS_LOGMNR SELECT on V_$LOGMNR_LOGS SELECT on V_$LOGMNR_CONTENTS LOGMINING /* For Oracle 12c and higher. */ * ALTER for any table being replicated (if you want DMS to add supplemental logging) Oracle 버전 이전에서는 다음 권한이 필요합니다. 보기가 표시되는 경우, 다음 권한이 필요합니 다. SELECT on DBA_OBJECTS /* versions before */ SELECT on ALL_VIEWS (required if views are exposed) 2단계: Aurora 대상 데이터베이스 구성 원본 데이터베이스와 마찬가지로 연결되어 있는 사용자의 액세스 권한을 제한하는 것이 좋습니다. 또한 마이 그레이션 이후에 제거할 수 있는 임시 사용자를 생성할 수도 있습니다. CREATE USER 'dms_user'@'%' IDENTIFIED BY 'dms_user'; GRANT ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE, SELECT ON <target database(s)>.* TO 'dms_user'@'%'; AWS DMS는 데이터베이스 awsdms_control의 대상에서 일부 제어 테이블을 사용합니다. 다음 명령은 dms_user가 awsdms_control 데이터베이스에 대한 필수 액세스 권한을 갖도록 해줍니다. 10

15 3단계: 복제 인스턴스 생성 GRANT ALL PRIVILEGES ON awsdms_control.* TO flush privileges; 3단계: 복제 인스턴스 생성 AWS DMS 복제 인스턴스는 원본과 대상 간에 실제 데이터 마이그레이션을 수행합니다. 복제 인스턴스도 마 이그레이션 중에 변경 사항을 캐시합니다. 복제 인스턴스가 갖는 CPU와 메모리 용량은 마이그레이션에 필 요한 전체 시간에 영향을 줍니다. 다음 절차에 따라 복제 인스턴스의 파라미터를 설정합니다. AWS DMS 복제 인스턴스를 생성하려면 1. AWS Management Console에 로그인하고 AWS DMS 콘솔 을 열고 [Replication instances]를 선택합니다. AWS Identity and Access Management(IAM) 사용자로서 로그인한 경우에는 AWS DMS 액세스를 위한 적절한 권한이 있어야 합니다. 필요한 권한에 대한 자세한 내용은 AWS DMS 사용에 필요한 IAM 권한을 참조하십시오. 2. [Create replication instance]를 선택합니다. 3. [Create replication instance] 페이지에서 다음과 같이 복제 인스턴스 정보를 지정합니다. 이 파라미터의 경우... 수행할 작업 이름 여러 복제 인스턴스를 시작하거나 계정을 공유하려고 계획 한 경우, 여러 복제 인스턴스를 빠르게 구분하도록 해주는 이름을 선택합니다. 설명 양호한 설명은 다른 사람들에게 사용 중인 복제 인스턴스의 용도에 대한 아이디어를 제공하고 사고를 예방할 수 있습니 다. 인스턴스 클래스 AWS DMS는 상당히 많은 메모리와 CPU를 사용할 수 있습 니다. 대규모 데이터베이스(다수의 테이블)가 있거나 많은 LOB 데이터 유형을 사용하는 경우, 큰 인스턴스를 설정하는 것이 더 바람직할 수 있습니다. 다음 설명과 같이 여러 작업 을 실행하여 처리량을 개선할 수 있습니다. 여러 작업은 더 많은 리소스를 소모하고 큰 인스턴스를 필요로 합니다. 테스 트를 실행할 때 CPU와 메모리 소모량을 계속 확인해야 합 니다. 전체 용량의 CPU나 스왑 공간을 사용하고 있는 경우, 쉽게 확장할 수 있습니다. VPC 여기에서 복제 인스턴스를 시작하는 VPC를 선택할 수 있 습니다. 가능한 경우 원본이나 대상 데이터베이스(또는 이 모두)가 있는 동일한 VPC를 선택하는 것이 좋습니다. AWS DMS는 이 VPC 내에서 원본과 대상 데이터베이스에 액세스 해야 합니다. 데이터베이스 엔드포인트 중 하나 또는 모두가 이 VPC 밖에 있으면, AWS DMS 액세스를 허용하도록 방화 벽 규칙을 수정합니다. 다중 AZ 다중 AZ를 선택하는 경우, AWS DMS에서는 별도의 가용 영 역에서 기본 및 보조 복제 인스턴스를 시작합니다. 치명적인 디스크 장애가 발생한 경우, 기본 복제 인스턴스는 자동으로 보조 인스턴스로 장애 조치를 취합니다. 대다수의 경우에 마 이그레이션을 수행하는 경우 다중 AZ가 필요하지 않습니다. 초기 데이터 로드에 오랜 시간이 소요되고 원본과 대상 데이 터베이스 동기화를 상당한 시간 동안 유지해야 하는 경우, 11

16 3단계: 복제 인스턴스 생성 이 파라미터의 경우... 수행할 작업 다중 AZ 구성으로 마이그레이션 서버를 실행하는 것이 좋습 니다. [Publicly accessible] 4. 원본 또는 대상 데이터베이스가 복제 서버가 있는 VPC 외부 에 있는 경우, 복제 인스턴스를 공개적으로 액세스할 수 있 도록 해야 합니다. [Advanced] 섹션에서 다음 파라미터를 설정한 후 [Next]를 선택합니다. 옵션 수행할 작업 [Allocated storage (GB)] 스토리지는 주로 로그 파일과 캐시된 트랜잭션에서 소모합 니다. 캐시 트랜잭션에서 스토리지는 캐시된 트랜잭션을 디 스크에 기록해야 할 때에만 사용됩니다. 따라서 AWS DMS 는 스토리지를 많이 사용하지 않습니다. 일부 예외 사항은 다음과 같습니다. 상당한 트랜잭션 로드를 발생하는 매우 큰 테이블. 큰 테 이블을 로드하면 다소 시간이 걸릴 수 있으므로, 캐시된 트랜잭션은 큰 테이블 로드 중에 디스크에 기록될 가능성 이 더 높습니다. 캐시된 트랜잭션을 로드하기 전에 일시 중지되도록 구성 되는 작업입니다. 이 경우에 모든 테이블에서 전체 로드가 완료될 때까지 모든 트랜잭션이 캐시됩니다. 이 구성에서 상당량의 스토리지가 캐시된 트랜잭션에서 소모될 수 있 습니다. Amazon Redshift로 로드되고 있는 테이블을 사용하여 구 성된 작업입니다. 그렇지만, 이 구성은 Aurora MySQL가 대상일 때는 문제가 아닙니다. 대다수의 경우에 스토리지의 기본 할당량은 충분합니다. 그 렇지만, 항상 스토리지 관련 지표에 유의하고 기본 할당량보 다 더 많이 소모하게 되면 스토리지를 확장하는 것이 좋습니 다. [Replication Subnet Group] 다중 AZ 구성으로 실행하는 경우, 최소 2개의 서브넷 그룹 이 필요합니다. [Availability Zone] 가능한 경우, 대상 데이터베이스와 동일한 가용 영역에 기본 복제 서버를 배치합니다. [VPC Security group(s)] 보안 그룹을 사용하여 VPC에 대한 수신 및 송신을 제어할 수 있습니다. AWS DMS를 통해 하나 이상의 보안 그룹을 복 제 서버가 시작하는 VPC와 연결할 수 있습니다. [KMS master key] AWS DMS를 통해 모든 데이터는 KMS 암호화 키를 사용하 여 유휴 상태로 암호화됩니다. 기본적으로 AWS DMS는 사 용자의 복제 서버에서 새 암호화 키를 생성합니다. 그렇지만 필요에 따라 기존 키를 사용할 수 있습니다. 12

17 4단계: Oracle 원본 엔드포인트 생성 4단계: Oracle 원본 엔드포인트 생성 복제 인스턴스가 생성되는 동안 AWS Management Console을 사용하여 Oracle 원본 엔드포인트를 지정할 수 있습니다. 그렇지만, 복제 인스턴스는 연결을 테스트하는 데 사용되기 때문에 복제 인스턴스가 생성된 후 에는 연결을 테스트만할 수 있습니다. AWS 콘솔을 사용하여 원본 또는 대상 데이터베이스 엔드포인트를 지정하려면 1. AWS DMS 콘솔의 탐색 창에서 [Endpoints]를 선택합니다. 2. [Create endpoint]를 선택합니다. 아래와 같이 [Create database endpoint] 페이지가 나타납니다. 3. 원본 Oracle 데이터베이스에 대한 연결 정보를 지정합니다. 다음 표는 원본 설정에 대한 설명입니다. 이 파라미터의 경우... 수행할 작업 [Endpoint type] [Source]를 선택합니다. [Endpoint Identifier] Oracle 엔드포인트의 식별자를 입력합니다. 엔드포인트의 식별자는 AWS 리전 내에서 고유해야 합니다. 소스 엔진 [oracle]을 선택합니다. [Server name] 데이터베이스가 온프레미스인 경우, AWS DMS가 복제 서 버의 데이터베이스와 연결하는 데 사용할 수 있는 IP 주소를 입력합니다. Amazon Elastic Compute Cloud(Amazon EC2) 또는 Amazon RDS에서 데이터베이스가 실행되고 있는 경 13

18 4단계: Oracle 원본 엔드포인트 생성 이 파라미터의 경우... 수행할 작업 우, 퍼블릭 DNS(Domain Name Service) 주소를 입력합니 다. 4. Port 데이터베이스가 연결을 위해 수신하고 있는 포트를 입력합 니다(Oracle 기본값은 1521). [SSL mode] 이 엔드포인트에서 연결 암호화를 활성화해야 하는 경우 Secure Sockets Layer(SSL) 모드를 선택합니다. 선택하는 모드에 따라 인증서와 서버 인증서 정보를 제공해야 할 수도 있습니다. 사용자명 AWS 계정 사용자 이름을 입력합니다. 마이그레이션별 AWS 계정을 생성하는 것이 좋습니다. [Password] 앞에 나온 사용자 이름의 암호를 입력합니다. [Advanced ] 탭을 선택하여 추가 연결 문자열과 암호화 키 값을 설정합니다. 옵션 수행할 작업 [Extra connection attributes] 여기에서 엔드포인트의 동작을 제어하는 추가 속성 값을 추 가할 수 있습니다. 여기에 나열된 속성은 가장 관련도가 높 은 일부 속성입니다. 전체 목록은 설명서를 참조하십시오. 세미콜론(;)을 사용하여 여러 항목을 서로 구분합니다. addsupplementallogging: AWS DMS는 이 옵션을 활성 화하는 경우(addSupplementalLogging=Y) 보충 로깅을 자동으로 추가합니다. uselogminerreader: 기본적으로 AWS DMS는 Oracle LogMiner를 사용하여 로그에서 변경 데이터를 캡처합니 다. AWS DMS는 또한 독자적인 기술을 활용하여 로그 구 문을 분석할 수 있습니다. Oracle 12c를 사용하고 LOBS 를 포함하는 테이블의 변경 사항을 캡처해야 하는 경우, 이것을 [No](useLogminerReader=N)로 설정합니다. numberdatatypescale: Oracle은 정밀도 또는 크기가 없는 NUMBER 데이터 형식을 지원합니다. 기본적으로 NUMBER는 정밀도가 38이고 크기가 10인 숫자(38,10)로 변환됩니다. FLOAT에서 유효한 값은 0 38 또는 1입니 다. archivedlogdestid: 이 옵션은 보관된 다시 실행 로 그의 대상을 지정합니다. 이 값은 $archived_log 테이 블의 DEST_ID 숫자와 같아야 합니다. 여러 로그 대상 (DEST_ID)을 사용할 때에는 보관된 다시 실행 로그의 위 치 식별자를 지정하는 것이 좋습니다. 그러면 시작 단계부 터 올바른 로그에 액세스하도록 보장하여 성능이 개선됩 니다. 이 옵션의 기본값은 0입니다. [KMS master key] 복제 스토리지와 연결 정보를 암호화하기 위해 사용할 암호 화 키를 선택합니다. [(Default) aws/dms]를 선택하면, 계정 및 리전과 연결된 AWS KMS 키가 사용됩니다. 엔드포인트를 저장하기 전에 테스트할 수 있습니다. 이 작업을 하려면, 테스트를 실시할 VPC 및 복제 인스 턴스를 선택합니다. 테스트의 일환으로서 AWS DMS는 엔드포인트와 연결된 스키마 목록을 새로 고칩니다. (이 원본 엔드포인트를 사용하여 작업을 생성할 때 이 스키마는 원본 옵션으로서 제공됩니다.) 14

19 5단계: Aurora MySQL 대상 엔드포인트 생성 5단계: Aurora MySQL 대상 엔드포인트 생성 그 다음, 대상 엔드포인트 설정을 지정하여 대상 Amazon Aurora MySQL 데이터베이스에 대한 정보를 제공 할 수 있습니다. 다음 표는 대상 설정에 대한 설명입니다. AWS Management Console을 사용하여 대상 데이터베이스 엔드포인트를 지정하려면 1. AWS DMS 콘솔의 탐색 창에서 [Endpoints]를 선택합니다. 2. [Create endpoint]를 선택합니다. 아래와 같이 [Create database endpoint] 페이지가 나타납니다. 3. 대상 Aurora MySQL 데이터베이스에 대한 연결 정보를 지정합니다. 다음 표는 대상 설정에 대한 설명입 니다. 이 파라미터의 경우... 수행할 작업 [Endpoint type] [Target]을 선택합니다. [Endpoint Identifier] Aurora MySQL 엔드포인트의 식별자를 입력합니다. 엔드포 인트의 식별자는 AWS 리전 내에서 고유해야 합니다. [Target Engine] [aurora]를 선택합니다. [Servername ] Aurora MySQL 인스턴스의 라이터 엔드포인트를 입력합니 다. 라이터 엔드포인트는 기본 인스턴스입니다. Port 인스턴스에 할당된 포트를 입력합니다. 15

20 6단계: 마이그레이션 작업 생성 4. 이 파라미터의 경우... 수행할 작업 [SSL mode] 이 엔드포인트에서 연결 암호화를 활성화해야 하는 경우 SSL 모드를 선택합니다. 선택하는 모드에 따라 인증서와 서 버 인증서 정보를 제공해야 할 수도 있습니다. 사용자명 마이그레이션을 위해 사용 중인 계정의 사용자 이름을 입력 합니다. 마이그레이션별 계정을 생성하는 것이 좋습니다. [Password] 앞에 나온 사용자 이름의 암호를 입력합니다. [Advanced ] 탭을 선택하여 필요에 따라 추가 연결 문자열과 암호화 키 값을 설정합니다. 옵션 수행할 작업 [Extra connection attributes] 여기에서 엔드포인트의 동작을 제어하는 추가 속 성 값을 입력할 수 있습니다. 여기에 나열된 속성 은 가장 관련도가 높은 일부 속성입니다. 전제 목 록은 설명서를 참조하십시오. 세미콜론(;)을 사용 하여 여러 항목을 서로 구분합니다. targetdbtype: 기본적으로 AWS DMS에서는 마이그레이션 중인 각 스키마별로 다른 MySQL 데이터베이스를 생성합니다. 때로는 여러 스 키마에서 단일 데이터베이스로 여러 객체를 결합해야 할 수도 있습니다. 이 작업을 하려면 이 옵션을 특정 데이터베이스로 설정합니다 (targetdbtype=specific_database). initstmt: 이 옵션을 사용하여 MySQL initstmt 연 결 파라미터를 호출하고 mysql initstmt가 수락 하는 모든 항목을 수락합니다. Aurora MySQL 대상을 사용할 때에는 흔히 외래 키 점검을 비 활성화하는 것이 유용합니다. 이 작업을 하려 면, 다음과 같이 initstmt 파라미터를 사용합니 다. initstmt=set FOREIGN_KEY_CHECKS=0 [KMS master key] 복제 스토리지와 연결 정보를 암호화하기 위해 사용할 암호화 키를 선택합니다. [(Default) aws/ dms]를 선택하면, 계정 및 리전과 연결된 AWS KMS 키가 사용됩니다. 엔드포인트를 저장하기 전에 테스트해 볼 수 있습니다. 이 작업을 하려면, 테스트를 실시할 VPC 및 복제 인 스턴스를 선택해야 합니다. 6단계: 마이그레이션 작업 생성 마이그레이션 작업을 생성할 때에는 데이터가 마이그레이션되는 방법을 정확하게 AWS DMS에 지시합니다. 작업 내에서 마이크레이션될 테이블, 이 테이블을 마이그레이션할 위치, 이 테이블을 마이그레이션할 방법을 정의합니다. 변경 캡처를 사용하여 AWS DMS 기능을 적용할 계획인 경우, 단일 작업 내에서 트랜잭션이 유 지되고 있음을 알고 있어야 합니다. 즉, 동일한 작업에서 단일 트랜잭션에 함께 참여하는 모든 테이블을 마이 그레이션해야 합니다. 16

21 6단계: 마이그레이션 작업 생성 AWS DMS 작업을 사용하여 마이그레이션할 스키마와 마이그레이션 유형을 지정할 수 있습니다. 기존 데이 터를 마이그레이션하거나, 지속적 변경 사항을 복제하거나, 또는 데이터 변경 사항만 복제할 수 있습니다. 이 연습에서는 기존 데이터만을 마이그레이션합니다. 마이그레이션 작업을 생성하려면 1. 탐색 창에서 [Tasks]를 선택합니다. 2. [Create Task]를 선택합니다. 3. [Create Task] 페이지에서 작업 옵션을 지정합니다. 다음 표는 설정에 대한 설명입니다. 옵션 수행할 작업 [Task name] 작업에는 항상 조직에 도움이 되는 설명 이름을 부여하는 것 이 좋습니다. [Task description] 작업 설명을 입력합니다. [Source endpoint] 원본 엔드포인트를 선택합니다. [Target endpoint] 대상 엔드포인트를 선택합니다. 복제 인스턴스 작업을 실행할 복제 인스턴스를 선택합니다. 원본과 대상 엔 드포인트는 인스턴스에서 액세스할 수 있어야 합니다. [Migration type] AWS DMS에서는 세 가지 마이그레이션 유형을 사용할 수 있습니다. [Migrate existing data:] 이 옵션을 선택하면 AWS DMS에서는 기존 데이터만을 마이그레이션합니다. 원본 데이터에 대한 변경 사항이 대 상에 캡처 및 적용되지 않습니다. 전체 로드 기간 동안 중 단을 감수할 수 있는 경우, 이 옵션을 통한 마이그레이션 은 쉽고 간편합니다. 이 메서드는 데이터베이스의 테스트 사본을 생성할 때 사용하기에 좋습니다. [Migrate existing data and replicate ongoing changes: ] 이 옵션을 통해 AWS DMS에서는 기존 데이터를 마이그 레이션하는 동안 변경 사항을 캡처합니다. AWS DMS에 서는 대량 데이터를 로드한 후에도 계속해서 변경 사항을 캡처하고 적용합니다. 결국 원본과 대상 데이터베이스는 동기화되어 가동 중지가 최소화된 마이그레이션이 가능 합니다. 이 작업을 수행하려면 다음 단계를 수행하십시오. 애플리케이션 종료 최종 변경 사항이 대상으로 흐르도록 허용 외래 키와 트리거 활성화와 같은 관리 작업 수행 새 대상 데이터베이스를 가리키는 애플리케이션 시작 Note AWS DMS는 대량 데이터를 테이블별로, 한 번 에 여러 <n> 테이블을 로드합니다. 전체 로드가 진행되면 AWS DMS는 가능한 한 신속하게 대상 테이블에 캐시된 변경 사항을 적용하기 시작합 니다. 대량 로드 중에 참조 무결성이 위반되므로, 전체 로드에서는 기존 외래 키를 비활성화해야 합니다. 전체 로드가 완료되고 나면, 대상 데이터 17

22 6단계: 마이그레이션 작업 생성 옵션 수행할 작업 베이스에는 무결성이 있고 변경 사항이 트랜잭 션으로 적용됩니다. [Replicate data changes only:] 경우에 따라서는 다른 메서드를 사용하여 대량 데이터를 로드하도록 선택할 수도 있습니다. 이 접근 방식은 대개 같은 유형의 마이그레이션을에만 적용됩니다. [Start task on create] 4. 상황에 따라서는 작업을 즉시 시작하는 것이 좋습니다. 때로 는 인스턴스가 로깅 수준을 변경할 수 있도록 작업 시작을 지연해야 할 수도 있습니다. 그 다음, 다음과 같이 [Advanced] 설정을 적용합니다. 옵션 수행할 작업 [Target table preparation mode] AWS DMS를 통해 로드 전에 대상 테이블이 준비되는 방식 을 지정할 수 있습니다. [Do nothing] - 이 옵션을 선택하면 AWS DMS에서는 테이블 을 준비하기 위한 어떤 작업도 하지 않습니다. 테이블 구조 는 그대로 유지되고 기존 데이터는 테이블에 남습니다. 이 메서드를 사용하여 여러 시스템의 데이터를 통합할 수 있습 니다. [Drop tables on target] - AWS DMS에서 자동으로 대상을 생성하도록 하는 경우 대개 이 옵션을 사용합니다. 이 옵션 을 선택하면 AWS DMS에서는 마이그레이션 전에 마이그레 이션할 테이블을 삭제 및 다시 생성합니다. [Truncate] - 대상 시스템에서 일부 또는 전체 테이블을 미리 생성할 경우 이 옵션을 선택하고, AWS Schema Conversion Tool을 사용할 수 있습니다. 이 옵션을 선택하면 AWS DMS 는 로드하기 전에 대상 테이블을 자릅니다. 대상 테이블이 없는 경우, AWS DMS에서는 자동으로 테이블을 생성합니 다. [Include LOB columns in replication] 대형 객체(LOB)는 때때로 시스템 사이에서 마이그레이션하 기 어려울 수 있습니다. AWS DMS에는 LOB 열을 튜닝할 때 도움이 되는 다양한 옵션이 있습니다. AWS DMS에서 어느 데이터 형식을 언제 LOBS로 고려하는지 확인하려면, AWS DMS 설명서를 참조하십시오. [Don't include LOB columns] - 다른 데이터베이스로 데이터 를 마이그레이션할 때에는 LOB 저장 방법을 재고해 볼 수 있으며, 특히 이종 마이그레이션에서 그러합니다. 이 작업을 수행할 경우, LOB 데이터를 마이그레이션할 필요가 없습니 다. [Full LOB mode] - [full LOB mode]에서 AWS DMS는 크기 에 상관 없이 모든 LOB를 원본에서 대상으로 마이그레이션 합니다. 이 구성에서 AWS DMS에는 예상할 수 있는 최대 크 기의 LOB 정보가 없습니다. 또한, LOB는 한 번에 하나씩, 조각별로 마이그레이션됩니다. 전체 LOB 모드는 매우 느릴 수 있습니다. 18

23 6단계: 마이그레이션 작업 생성 옵션 수행할 작업 [Limited LOB mode] - [limited LOB mode]에서 AWS DMS가 수용하는 최대 크기의 LOB를 설정합니다. 이 설정을 통해 AWS DMS는 메모리를 미리 할당하고 LOB 데이터를 대량 으로 로드할 수 있습니다. 최대 LOB 크기를 초과하는 LOB 는 잘리고 경고가 로그 파일에 발행됩니다. [ limited LOB mode]는 [full LOB mode]에 비해 상당한 성능 이점이 있습 니다. 가능하다면 [limited LOB mode] 사용을 권장합니다. Note Oracle을 통해 LOB는 가능할 때마다 VARCHAR 데이터 형식으로 처리됩니다. 이 접근 방식은 AWS DMS가 데이터베이스에서 데이터를 대량으로 가 져오므로, 다른 메서드보다 훨씬 빠릅니다. Oracle 에서 VARCHAR의 최대 크기는 64K이므로, Oracle 이 원본 데이터베이스일 때 64K 미만의 제한적인 LOB 크기가 최적입니다 [Max LOB size (K)] [limited LOB mode]에서 작업이 실행되도록 구성하면, 이 옵 션은 AWS DMS에서 수용하는 최대 크기의 LOB를 결정합 니다. 이 값보다 큰 LOB는 이 값으로 잘립니다. [LOB chunk size (K)] 작업을 [full LOB mode]를 사용하도록 구성하면, AWS DMS 는 LOB를 여러 조각으로 가져옵니다. 이 옵션은 각 조각의 크기를 결정합니다. 이 옵션을 설정하면, 네트워크 구성에서 허용된 최대 패킷 크기에 특히 유의해야 합니다. LOB 청크 크기가 최대 허용 패킷 크기를 초과하면, 연결 해제 오류가 나타날 수 있습니다. [Custom CDC start time] 이 파라미터는 데이터 변경 사항만을 복제하도록 구성된 작 업에 대한 것입니다. 이 파라미터는 변경 스트림에서 변경 사항을 찾기 시작하는 위치를 AWS DMS에 알려줍니다. [Enable logging] 항상 로깅을 활성화합니다. 추가 파라미터를 설정합니다. 옵션 수행할 작업 [Create control table(s) in target schema] AWS DMS는 대상 데이터베이스에서 일부 제어 테이블을 필요로 합니다. 기본적으로 이 테이블은 사용자 데이터와 동 일한 데이터베이스에서 생성됩니다. 이 파라미터를 통해 어 딘가에 이 아티팩트를 배치하도록 AWS DMS에 지시할 수 있습니다. [Maximum number of tables to load in parallel] AWS DMS는 테이블별로 데이터를 로드합니다. 이 파라미 터를 통해 AWS DMS가 동시에 로그할 테이블 개수를 제어 할 수 있습니다. 기본값은 대다수 상황에서 최적인 8입니다. 테이블 매핑 설정을 지정합니다. 테이블 매핑은 AWS DMS에 작업이 원본에서 대상으로 마이그레이션해야 하는 테이블을 지정해 줍니 다. 일부 설정이 AWS Management Console을 사용하여 적용될 수 있더라도 테이블 매핑은 JSON으로 표현됩니다. 또한, 테이블 매핑에는 대문자에서 소문자로 테이블 이름 변경과 같은 변환도 포함될 수 있 습니다. 19

24 6단계: 마이그레이션 작업 생성 AWS DMS는 원본 데이터베이스에서 각 (비시스템) 스키마별로 기본 테이블 매핑을 생성합니다. 대다수 경우에 테이블 매핑을 사용자 지정해야 합니다. 테이블 매핑을 사용자 지정하려면 사용자 지정 라디오 버튼을 선택합니다. 테이블 매핑 생성에 대한 세부 정보는 AWS DMS 설명서를 참조하십시오. 다음 테 이블 매핑의 기능은 다음과 같습니다. 마이그레이션에 DMS_SAMPLE 스키마를 포함합니다. 테이블 NFL_DATA, MLB_DATA, NAME_DATE, STADIUM_DATA를 제외합니다. 스키마, 테이블, 열 이름을 소문자로 변환합니다. { "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "DMS_SAMPLE", "table-name": "%" }, "rule-action": "include" }, { { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "DMS_SAMPLE", "table-name": "MLB_DATA" }, "rule-action": "exclude" }, "rule-type": "selection", "rule-id": "3", "rule-name": "3", "object-locator": { "schema-name": "DMS_SAMPLE", "table-name": "NAME_DATA" }, "rule-action": "exclude" }, { "rule-type": "selection", "rule-id": "4", "rule-name": "4", "object-locator": { "schema-name": "DMS_SAMPLE", "table-name": "NFL_DATA" }, "rule-action": "exclude" }, { "rule-type": "selection", "rule-id": "5", "rule-name": "5", "object-locator": { "schema-name": "DMS_SAMPLE", 20

25 7단계: 마이그레이션 작업 모니터링 } ] "table-name": "NFL_STADIUM_DATA" }, "rule-action": "exclude" },{ "rule-type": "transformation", "rule-id": "6", "rule-name": "6", "rule-action": "convert-lowercase", "rule-target": "schema", "object-locator": { "schema-name": "%" } }, { "rule-type": "transformation", "rule-id": "7", "rule-name": "7", "rule-action": "convert-lowercase", "rule-target": "table", "object-locator": { "schema-name": "%", "table-name": "%" } }, { "rule-type": "transformation", "rule-id": "8", "rule-name": "8", "rule-action": "convert-lowercase", "rule-target": "column", "object-locator": { "schema-name": "%", "table-name": "%", "column-name": "%" } } 7단계: 마이그레이션 작업 모니터링 콘솔의 3개 섹션에서 마이그레이션 작업 현황을 확인할 수 있습니다. 작업 모니터링 [Task Monitoring] 탭에는 전체 로드 처리량과 변경 캡처 및 적용 지연 시간에 대한 정보가 나와 있습니다. 테이블 통계 [Table Statistics] 탭에는 처리된 행 수와 처리된 트랜잭션 수에 대한 세부 정보와 DDL 작업 에 대한 정보가 나옵니다. 로그 [Logs] 탭에서 작업의 로그 파일을 볼 수 있습니다(로깅을 켰다고 가정함). 어떤 이유로든 작업에 실 패하면 해당 파일에서 오류를 찾습니다. 또한, 파일에서 경고를 찾을 수 있습니다. 작업에서 데이터 잘림은 로그 파일의 경고로 나타납니다. 필요에 따라 AWS 명령줄 인터페이스(CLI)를 사용하여 로깅 수준을 증가 시킬 수 있습니다. 문제 해결 원본으로서 Oracle을 사용하고 대상으로서 Aurora MySQL를 사용할 때 문제가 나타나는 가장 일반적이 두 영역은 보충 로깅과 대소문자 구분입니다. 21

26 마이그레이션을 위한 샘플 데이터베이스 사용 보충 로깅 Oracle을 통해 변경 데이터를 복제하려면 보충 로깅을 활성화해야 합니다. 그렇지만, 데이터베 이스 수준에서 보충 로깅을 활성화할 경우, 때로는 새 테이블을 생성할 때 보충 로깅을 계속 활성화해야 합 니다. 이 문제에 대한 최적의 해결책은 추가 연결 속성을 사용하여 DMS가 보충 로깅을 자동으로 활성화하 도록 허용하는 것입니다. addsupplementallogging=y 대소문자 구분: Oracle은 대소문자를 구분하지 않습니다(객체 이름을 따옴표로 묶지 않은 경우). 그렇지만, 텍스트는 대문자로 표시됩니다. 또한, AWS DMS는 기본적으로 대문자로 대상 객체를 명명합니다. 대다수 의 경우에 변환을 사용하여 스키마, 테이블 또는 열 이름을 소문자로 변경해야 합니다. 추가 팁을 보려면, AWS DMS 사용 설명서의 AWS DMS 문제 해결 섹션을 참조하십시오. Oracle별로 문제를 해결하려면, Oracle 문제 해결 섹션을 참조하십시오. CHAP_Troubleshooting.html#CHAP_Troubleshooting.Oracle Aurora MySQL 및 MySQL 문제를 해결하려면, MySQL 문제 해결 섹션을 참조하십시오. CHAP_Troubleshooting.html#CHAP_Troubleshooting.MySQL 마이그레이션을 위한 샘플 데이터베이스 사용 Amazon에서 제공한 샘플 Oracle 데이터베이스를 사용하여 앞의 개요와 가이드를 잘 살펴보는 것이 좋습니 다. 이 데이터베이스는 간단한 스포츠 이벤트 및 티켓팅 시스템을 모방한 것입니다. 샘플 데이터베이스를 생 성하는 스크립트는 있는.tar 파일의 일부입 니다. 샘플 데이터베이스를 빌드하려면,.tar 파일을 추출하고 README의 지침에 따라 파일을 설치합니다. 샘플에는 약 8-10GB의 데이터가 포함되어 있습니다. 이 샘플 데이터베이스에는 일부 트랜잭션을 생성하는 데 사용할 수 있는 ticketmanagment 패키지가 포함되어 있습니다. 트랜잭션을 생성하려면, SQL*Plus 또는 SQL Developer에 로그인하고 dms_sample로서 다음을 실행합니다. SQL>exec ticketmanagement.generateticketactivity(0.01,1000); 첫 번째 파라미터는 트랜잭션 지연 시간(초이고, 두 번째 파라미터는 생성할 트랜잭션 수입니다. 앞의 절차는 간단히 사람들에게 "티켓을 판매"합니다. 테이블 sporting_event_ticket 및 ticket_purchase_history에 업데이 트가 표시됩니다. 일부 티켓이 "판매된 후"에는 다음 명령을 사용하여 전송할 수 있습니다. SQL>exec ticketmanagement.generatetransferactivity(1,100); 첫 번째 파라미터는 트랜잭션 지연 시간(초이고, 두 번째 파라미터는 생성할 트랜잭션 수입니다. 이 절차도 sporting_event_ticket 및 ticket_purchase_history를 업데이트합니다. 22

27 Amazon RDS Oracle 데이터베이스를 Amazon Aurora MySQL로 마이그레 이션 본 연습에서는 와 AWS Schema Conversion Tool을 사용하여 다른 유형의 데이터베이스를 Amazon RDS Oracle에서 MySQL과 호환되는 Amazon Aurora로 마이그레이션하는 과정을 안내합니다. 다음은 입문용 실습이므로 모든 시나리오를 다루지 않지만 그러한 마이그레이션을 실행할 때 따 라야 하는 단계를 이해하는 데 도움이 됩니다. AWS DMS와 AWS SCT가 다른 별개의 도구이며 각기 다른 요구 사항에 부합한다는 점도 잘 알고 있어야 합 니다. 이들 도구는 마이그레이션 프로세스에서 서로 상호작용하지 않습니다. 고급 수준에서 이 마이그레이션 에 수반되는 단계는 다음과 같습니다. 1. AWS SCT를 사용하여 다음 작업 진행: Oracle에서 Aurora MySQL로의 변환 보고서를 실행하여 스키마 변환에 필요한 문제, 제한 사항 및 작업 을 확인합니다. 스키마 스크립트를 생성하고 대상에서 이것을 적용한 후 AWS DMS를 통해 데이터 로드를 실행합니다. AWS SCT는 절차 및 보기와 같은 객체에 대한 필수 코드 변환을 수행합니다. 2. AWS SCT에서 보고한 문제에 대한 해결책을 확인하고 구현합니다. 예를 들어, Amazon Aurora MySQL에 서 지원되지 않는 Oracle Sequence와 같은 객체 유형은 auto_increment 옵션을 사용하여 처리되어 대리 키를 채우거나 애플리케이션 계층에서 시퀀스 로직을 개발할 수 있습니다. 3. AWS DMS 데이터 로드에 영향을 줄 수 있는 외래 키 또는 다른 모든 제약을 비활성화합니다. 4. AWS DMS는 전체 로드 접근 방식을 사용하여 원본에서 대상으로 데이터를 로드합니다. AWS DMS가 로 드의 일부로서 대상에서 객체를 생성할 수 있더라도 최소한의 접근 방식에 따라 데이터를 효율적으로 마 이그레이션하므로 전체 스키마 구조가 원본에서 대상으로 복제되지 않습니다. 5. 추가 인덱스 생성과 같은 마이그레이션 후 활동을 수행하여 외래 키를 활성화하고 애플리케이션에서 필요 한 변경 사항을 적용하여 새 데이터베이스를 가리킵니다. 다음 연습에서는 사용자 지정 AWS CloudFormation 템플릿을 사용하여 Oracle 및 Amazon Aurora MySQL 용 Amazon RDS DB 인스턴스를 생성합니다. 그런 다음 SQL 명령 스크립트를 사용하여 샘플 스키마와 데이 터를 Amazon RDS Oracle DB 인스턴스에 설치한 후 Amazon Aurora MySQL로 마이그레이션합니다. 이 연습을 완료하기까지 약 2시간이 소요됩니다. AWS 리소스를 사용하여 이 작업을 완료하기까지 추정 비 용은 약 $5.00입니다. 추가 요금이 발생하지 않도록 이 연습이 끝날 때까지 반드시 지침에 따라 리소스를 삭 제해야 합니다. 항목 비용 (p. 24) 사전 조건 (p. 25) 마이그레이션 아키텍처 (p. 25) 단계별 마이그레이션 (p. 26) 다음 단계 (p. 63) AWS CloudFormation 템플릿, SQL 스크립트 및 기타 리소스 (p. 63) 23

28 비용 참조 (p. 63) 비용 본 연습에서는 AWS CloudFormation과 (AWS DMS) 리소스를 사용하여 Amazon Relational Database Service(Amazon RDS) 리소스를 프로비저닝합니다. 이 리소스를 프로비저닝 하면 AWS 계정에 시간당 요금이 부과됩니다. AWS Schema Conversion Tool에서는 비용이 부과되지 않습 니다. 즉, AWS DMS의 일부로 제공됩니다. 이 연습에 최소의 리소스만이 필요하더라도 이 리소스의 일부는 AWS 프리 티어에 적합하지 않습니다. 이 연 습이 끝나면 추가 요금이 발생하지 않도록 리소스를 삭제하는 섹션이 나옵니다. 연습을 마친 후 바로 리소스 를 삭제합니다. AWS에서 이 연습을 실행할 때 발생하는 요금을 추정하기 위해 AWS 월 사용량 계산기를 이용할 수 있습 니다. 그렇지만, AWS DMS 서비스는 이 계산기에 아직 포함되어 있지 않습니다. 다음 표에는 AWS DMS와 Amazon RDS Oracle Standard Edition Two의 요금이 나와 있습니다. AWS 서비스 인스턴스 유형 스토리지 및 I/O Amazon RDS Oracle DB 인스턴스, 라이선스 포함(Standard Edition Two), 단일 AZ db.m3.medium 단일 AZ, 10GB 스 토리지, GP2 Amazon Aurora MySQL DB 인스턴스 db.r3.large 단일 AZ, 10GB 스 토리지, I/O 100만 개 AWS DMS 복제 인스턴스 시작 t2.small 복제 로그 보관을 위한 50GB의 스토 리지 포함 AWS DMS 데이터 전송 무료 동일한 가용 영역에 있는 RDS 인스턴스의 AWS DMS와 데이터베이 스 간 데이터 전송 은 무료입니다. 데이터 전송 매월 첫 1GB 무료 이 연습을 2시간 동안 실행한다는 가정 하에 AWS 리소스에 대한 추정 요금은 다음과 같습니다. AWS 월 사용량 계산기를 사용하여 추정한 Amazon Aurora MySQL +10GB 스토리지 요금은 $1.78입니다. Amazon RDS Oracle SE2(라이선스 포함) + 10GB GP2 스토리지 비용(요금 사이트에 따라 추정)($0.226) * 2시간 + ($0.115) * 10GB는 $1.602입니다. 50GB GP2 스토리지를 지원하는 t2.small 인스턴스의 AWS DMS 서비스 비용(요금 사이트에 따라 추정) ($0.036) * 2시간은 $0.072입니다. 이 프로젝트를 실행하는 데 소요되는 총 추정 비용 = $ $ $0.072 = $3.454 약 $5.00. 이 요금은 다음 가정을 기반으로 합니다. 인터넷으로 전송되는 총 데이터 양은 기가바이트 미만이라고 가정합니다. 앞에 나온 요금 추정치는 RDS 및 DMS 서비스와 관련된 데이터 전송과 백업 요금이 프리 티어 한도 내에 있다고 가정한 것입니다. 24

29 사전 조건 Aurora MySQL 데이터베이스가 사용한 스토리지는 GB-월 단위 증분으로 청구되고, 사용된 I/O는 1백만 개 요청 단위 증분으로 청구됩니다. 동일한 가용 영역에 있는 RDS 인스턴스의 DMS와 데이터베이스 간 데이터 전송은 무료입니다. 사전 조건 이 연습을 완료하려면 다음 사전 요구 사항도 필요합니다. Amazon RDS, 해당 데이터베이스 기술 및 SQL에 대한 지식. 마이그레이션할 테이블 생성과 마이그레이션 확인을 위한 SQL 쿼리를 포함하는 사용자 지정 스크립트입 니다. 스크립트와 쿼리는 다름 링크에서 사용할 수 있습니다. 이 연습의 각 단계마다 파일을 다운로드할 수 있는 링크가 포함되어 있거나 해당 단계에 정확한 쿼리가 포함되어 있습니다. HR 스키마를 빌드하는 SQL 문 - 스키마 콘텐츠의 유효성을 확인하는 SQL 쿼리 - (텍스트) AWSDMSDemoStats.txt 및 (스프레드시트) AWSDMSDemoStats.xlsx. AWS CloudFormation 템플릿 - Oracle_Aurora_RDS_For_DMSDemo.template. AWS 리전에서 Amazon Relational Database Service(Amazon RDS)와 AWS Database Migration Service(AWS DMS) 인스턴스를 시작할 수 있도록 해주는 AWS Identity and Access Management(IAM) 자 격 증명을 가진 AWS 계정입니다. IAM 자격 증명에 대한 정보는 IAM 사용자 생성 섹션을 참조하십시오. Amazon Virtual Private Cloud(Amazon VPC) 서비스 및 보안 그룹에 대한 기본 지식. Amazon RDS에서 Amazon VPC를 사용하는 방법에 대한 정보는 가상 사설 클라우드(VPCs) 및 Amazon RDS 섹션을 참조하 십시오. Amazon RDS 보안 그룹에 대한 자세한 내용은 Amazon RDS 보안 그룹을 참조하십시오. AWS DMS의 지원 기능 및 제한 사항에 대한 이해 AWS DMS에 대한 자세한 내용은 AWS Database Migration Service란 무엇입니까? 를 참조하십시오. Oracle 및 Amazon Aurora MySQL에서 지원되는 데이터 형식 변환 옵션에 대한 정보입니다. 원본으로서 Oracle용 데이터 형식에 대한 정보는 에서 Oracle 데이터베이스를 원 본으로 사용 을 참조하십시오. 원본으로서 Amazon Aurora MySQL용 데이터 형식에 대한 정보는 AWS Database Migration Service에서 MySQL 호환 데이터베이스를 원본으로 사용 을 참조하십시오. AWS DMS에 대한 자세한 내용은 AWS DMS 설명서를 참조하십시오. 마이그레이션 아키텍처 이 예제에서는 AWS CloudFormation을 사용하여 데이터베이스 마이그레이션을 위한 단순 네트워크 토폴로 지를 생성하며, 여기에는 원본 데이터베이스, 복제 인스턴스, 동일한 VPC의 대상 데이터베이스가 포함됩니 다. AWS CloudFormation에 대한 자세한 내용은 CloudFormation 설명서를 참조하십시오. AWS CloudFormation을 통해 본 (AWS DMS) 연습에 필요한 AWS 리소 스를 프로비저닝합니다. 이 리소스에는 Oracle 및 Amazon Aurora MySQL용 VPC와 Amazon Relational Database Service(Amazon RDS) 인스턴스가 포함되어 있습니다. AWS CloudFormation을 통해 프로 비저닝하므로 프로세스가 간편해져 데이터 마이그레이션과 관련된 작업에 집중할 수 있습니다. AWS CloudFormation 템플릿에서 스택을 생성하면 다음 리소스를 프로비저닝합니다. 리전에서 퍼블릭 서브넷 2개를 지원하는 CIDR( /24)을 사용한 VPC, 가용 영역(AZ) 1에서 주소가 /26인 DBSubnet1, AZ 12에서 주소가 /26인 DBSubnet2입니다. DBSubnet1과 DBSubnet2를 포함하는 DB 서브넷 그룹입니다. Oracle RDS Standard Edition Two의 배포 옵션 2개는 다음과 같습니다. 25

30 단계별 마이그레이션 라이선스 포함 Single-AZ 설정 db.m3 미디엄 또는 이에 준하는 인스턴스 클래스 포트 1521 기본 옵션 및 파리미터 그룹 Amazon Aurora MySQL DB 인스턴스의 배포 옵션은 다음과 같습니다. 복제본 없음 db.r3.large 또는 이에 준하는 인스턴스 클래스 포트 3306 기본 옵션 및 파리미터 그룹 입력 파라미터를 기반으로 컴퓨터 또는 /0(어디에서든 액세스)에서 수신 액세스가 지원되는 보안 그 룹 사용자의 입력이 거의 필요 없도록 CloudFormation 템플릿을 설계했습니다. 최소 권장 구성으로 필요한 AWS 리소스를 프로비저닝합니다. 그렇지만, VPC CIDR 블록과 Amazon RDS 인스턴스 형식과 같은 일부 구성과 파라미터를 변경해야 하는 경우에는 언제든지 템플릿을 업데이트하십시오. AWS Management Console을 사용하여 복제 인스턴스, 엔드포인트 및 작업과 같은 AWS DMS 리소스를 프 로비저닝합니다. 로컬 컴퓨터에 SQL Workbench/J 및 AWS Schema Conversion Tool(AWS SCT)과 같은 클 라이언트 도구를 설치하여 Amazon RDS 인스턴스에 연결합니다. 다음은 이 연습에 해당하는 마이그레이션 아키텍처에 대한 그림입니다. 단계별 마이그레이션 다음 섹션에서는 Amazon Relational Database Service(Amazon RDS) Oracle 데이터베이스를 Amazon Aurora MySQL로 마이그레이션하기 위한 단계별 지침에 대해 다룹니다. 이 단계는 사용자가 이미 앞의 섹션 에서 설명한 원본 데이터베이스를 준비했다고 가정합니다. 26

31 항목 1단계: CloudFormation 템플릿을 사 용하여 VPC에서 RDS 인스턴스 시작 1단계: CloudFormation 템플릿을 사용하여 VPC에서 RDS 인스턴스 시작 (p. 27) 2단계: 로컬 컴퓨터에 SQL 도구와 AWS Schema Conversion Tool 설치 (p. 32) 3단계: Oracle DB Instance와의 연결을 테스트하고 샘플 스키마 생성 (p. 34) 4단계: Aurora MySQL DB 인스턴스와의 연결을 테스트합니다. (p. 38) 5단계: AWS Schema Conversion Tool(AWS SCT)을 사용하여 Oracle 스키마를 Aurora MySQL로 변환 합니다. (p. 40) 6단계: 스키마 변환 검증 (p. 50) 7단계: AWS DMS 복제 인스턴스를 생성합니다. (p. 53) 8단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. (p. 54) 9단계: AWS DMS 마이그레이션 작업 생성 및 실행 (p. 57) 10단계: AWS DMS 마이그레이션이 성공적으로 완료되었는지 확인 (p. 60) 11단계: 연습 리소스 삭제 (p. 62) 1단계: CloudFormation 템플릿을 사용하여 VPC에서 RDS 인스턴스 시작 먼저 이 연습에서 필요한 AWS 리소스를 프로비저닝해야 합니다. 다음 연습에서는 AWS CloudFormation 템플릿을 사용하여 이 연습에 적합한 Amazon RDS 리소스 를 생성합니다. 1. AWS Management 콘솔에 로그인한 다음 AWS CloudFormation 콘솔을 엽니다. 2. [Create stack]을 선택합니다. 3. [Select Template ] 페이지에서 [Specify an Amazon S3 template URL ]을 선택하고 다음 URL을 인접한 텍스트 상자에 붙여 넣습니다. 27

32 1단계: CloudFormation 템플릿을 사 용하여 VPC에서 RDS 인스턴스 시작 4. [Next]를 선택합니다. [Specify DB Details] 페이지에서 다음과 같이 파라미터 값을 입력합니다. 이 파라미터의 경우... 수행할 작업 [Stack Name ] [DMSdemo]를 입력합니다. [OracleDBName] 데이터베이스 고유 이름을 입력합니다. 이름은 문자로 시작 해야 합니다. 기본값은 ORCL입니다. [OracleDBUsername] Oracle 인스턴스를 관리할 관리(DBA) 사용자를 지정합니 다. 기본값은 oraadmin입니다. [OracleDBPassword] 관리 사용자 암호를 입력합니다. [AuroraDBUsername] Aurora MySQL 인스턴스를 관리할 관리(DBA) 사용자를 지 정합니다. 기본값은 auradmin입니다. [AuroraDBPassword] 관리 사용자 암호를 입력합니다. [ClientIP] 로컬 컴퓨터의 IP 주소를 CIDR(x.x.x.x/32) 형식으로 지정 합니다. whatsmyip.org에서 IP 주소를 가져올 수 있습니다. RDS 인스턴스의 보안 그룹은 이 IP 주소로의 수신을 허용합 니다. 기본값은 어디에서든 액세스 가능한 ( /0)이고, 권장되지 않습니다. 이 연습에서 IP 주소를 사용해야 합니 다. 28

33 1단계: CloudFormation 템플릿을 사 용하여 VPC에서 RDS 인스턴스 시작 5. [Next]를 선택합니다. 다음 [Options] 페이지에서 [Next]를 선택합니다. 29

34 1단계: CloudFormation 템플릿을 사 용하여 VPC에서 RDS 인스턴스 시작 6. [Review] 페이지에서 세부 정보를 검토하고 올바를 경우 [Create Stack]을 선택합니다. 이 CloudFormation 템플릿 실행에 따른 추정 비용을 확인하려면 [Cost]를 선택합니다. 7. AWS에서 Amazon RDS Oracle 및 Amazon Aurora MySQL 인스턴스를 사용하여 스택을 생성하기까지 약 20분 이상이 소요될 수 있습니다. 30

35 1단계: CloudFormation 템플릿을 사 용하여 VPC에서 RDS 인스턴스 시작 8. 스택 생성 후 [Stack], DMSdemo 스택, [Outputs] 진행률을 차례대로 선택합니다. JDBC 연결 문자열 [OracleJDBCConnectionString] 및 [AuroraJDBCConnectionString]을 기록해 두면 이 연습에서 나중에 Oracle 및 Aurora MySQL DB 인스턴스에 연결하는 데 사용할 수 있습니다. 31

36 2단계: 로컬 컴퓨터에 SQL 도구와 AWS Schema Conversion Tool 설치 Note Oracle 12c SE Two 라이선스 버전 v4는 모든 리전에서 사용할 수 있습니다. 그렇지만, 일 부 리전에서는 Amazon Aurora MySQL를 사용할 수 없습니다. Amazon Aurora MySQL가 현재 출시 된 리전은 미국 동부(버지니아), 미국 서부(오레곤), EU(아일랜드), 아시아 태평양(도쿄), 아시아 태 평양(뭄바이), 아시아 태평양(시드니), 아시아 태평양(서울)입니다. Aurora MySQL 미출시 리전에서 스택을 생성하려고 하면, Invalid DB Engine for AuroraCluster 오류가 표시되면서 생성 에 실패합니다. 2단계: 로컬 컴퓨터에 SQL 도구와 AWS Schema Conversion Tool 설치 그 다음, 로컬 컴퓨터에 SQL 클라이언트 및 AWS Schema Conversion Tool(AWS SCT)를 설치합니다. 이 연습에서는 마이그레이션 확인을 위해 SQL Workbench/J 클라이언트를 사용하여 RDS 인스턴스에 연결 한다고 가정합니다. 권장되는 다른 소프트웨어 도구는 다음과 같습니다. JACK DB, JDBC를 통해 RDS 데이터베이스(Oracle 및 Aurora MySQL)를 사용하는 온라인 웹 인터페이스 DBVisualizer Oracle SQL Developer 32

37 2단계: 로컬 컴퓨터에 SQL 도구와 AWS Schema Conversion Tool 설치 SQL 클라이언트 소프트웨어를 설치하려면 1. SQL Workbench/J 웹사이트에서 SQL Workbench/J를 다운로드한 후 로컬 컴퓨터에 설치합니다. 이 SQL 클라이언트는 무료로 제공되는 오픈 소스로서 DBMS에 종속되어 있지 않습니다. 2. Oracle Database JDBC 드라이버(ojdbc7.jar)를 다운로드합니다. 3. MySQL 드라이버( mysql-connector-java bin.jar)를 다운로드합니다. 4. SQL Workbench/J를 사용하여 다음 설명과 같이 Oracle 및 Aurora MySQL용 JDBC 드라이버를 구성하 여 연결을 설정합니다. 1. SQL Workbench/J에서 [File]을 선택한 후 [Manage Drivers]를 선택합니다. 2. 드라이버 목록에서 [Oracle]을 선택합니다. 3. [Open] 아이콘을 선택하고 나서 이전 단계에서 다운로드한 ojdbc.jar 파일을 선택합니다. [OK]를 선택합니다. 4. 드라이버 목록에서 MySQL을 선택합니다. 5. [Open] 아이콘을 선택하고 나서 이전 단계에서 다운로드한 MySQL JDBC 드라이버를 선택합니다. [OK]를 선택합니다. 33

38 3단계: Oracle DB Instance와의 연 결을 테스트하고 샘플 스키마 생성 그 다음, AWS 스키마 마이그레이션 도구와 필요한 JDBC 드라이버를 설치합니다. AWS 스키마 마이그레이션 도구와 JDBC 드라이버를 설치하려면 1. AWS Schema Conversion Tool 사용 설명서의 AWS Schema Conversion Tool 설치 및 업데이트에 서 AWS Schema Conversion Tool을 다운로드합니다.기본적으로 "C:\Program Files\AWS Schema Conversion Tool\AWS 디렉터리에 이 도구가 설치됩니다. 2. AWS Schema Conversion Tool을 시작합니다. 3. AWS Schema Conversion Tool의 [Settings]에서 [Global Settings]를 선택합니다. 4. [Global Settings]에서 [Driver]를 선택한 후 [Browse]를 선택하여 [Oracle Driver Path]를 찾습니다. JDBC Oracle 드라이버를 찾고 [OK]를 선택합니다. 그런 다음, [Browse]를 선택하여 [MySql Driver Path]를 찾 습니다. JDBC MySQL 드라이버를 찾고 [OK]를 선택합니다. [OK]를 선택하여 대화 상자를 닫습니다. 3단계: Oracle DB Instance와의 연결을 테스트하고 샘 플 스키마 생성 CloudFormation 스택을 생성한 후 SQL Workbench/J를 사용하여 Oracle DB 인스턴스 연결을 테스트하고 HR 샘플 스키마를 생성합니다. SQL Workbench/J를 사용하여 Oracle DB 인스턴스와의 연결을 테스트하고 샘플 스키마를 생성하 려면 1. SQL Workbench/J에서 [File]을 선택한 후 [Connect window]를 선택합니다. 아래와 같이 다음 정보를 사 용하여 새 연결 프로필을 생성합니다. 이 파라미터의 경우... 수행할 작업 [New profile] 이름 RDSOracleConnection을 입력합니다. 34

39 3단계: Oracle DB Instance와의 연 결을 테스트하고 샘플 스키마 생성 2. 이 파라미터의 경우... 수행할 작업 드라이버 Oracle (oracle.jdbc.oracledriver)을 선택합니 다. URL 이전 단계에서 DMSdemo 스택의 출력 세부 정보를 검사했 을 때 기록한 [OracleJDBCConnectionString] 값을 사용합니 다. 사용자명 oraadmin을 입력합니다. [Password] AWS CloudFormation 템플릿을 사용하여 Oracle DB 인스 턴스를 생성할 때 할당한 관리 사용자의 암호를 입력합니다. 연결을 테스트하려면 [Test]를 선택합니다. [OK]를 선택하여 대화 상자를 닫은 후 [OK]를 선택하여 연결 프로필을 생성합니다. Note 용 Oracle DB 인스턴스에 연결 연결에 실패한 경우, CloudFormation 템플릿을 생성할 때 할당한 IP 주소가 연결을 시도한 IP 주소인지 확인합니다. 인스턴스에 연결할 때 가장 일반적으로 발생하는 문제입니다. 3. 사용자 지정 스크립트를 사용하여 마이그레이션에 사용할 HR 스키마를 생성합니다. AWS에서 제공하 는 SQL 스크립트는 이 사이트의 에 있습니다. 1. 텍스트 편집기에서 제공된 SQL 스크립트를 엽니다. 전체 스크립트를 복사합니다. 2. SQL Workbench/J에서 다음 코드를 복사하고 [Statement 1]를 보여 주는 Default.wksp 창에 SQL 스 크립트를 붙여 넣습니다. 3. [SQL]을 선택한 후 [Execute All]을 선택합니다. 35

40 3단계: Oracle DB Instance와의 연 결을 테스트하고 샘플 스키마 생성 스크립트를 실행하면, 사용자 HR이 없음을 나타내는 오류 메시지가 반환됩니다. 이 오류를 무시하 고 스크립트를 실행할 수 있습니다. 이 스크립트는 사용자를 생성하기 전에 이 사용자를 삭제하므 로, 오류가 발생합니다. 4. 다음 SQL 쿼리를 실행하여 HR 스키마에서 객체 유형과 개수가 생성되었는지 확인합니다. 또한 AWS 사 이트에서 제공하는 스프레드시트에 나열된 결과와 다음 쿼리 결과를 비교해 볼 수도 있습니다. Select OBJECT_TYPE, COUNT(*) from dba_objects where owner='hr' GROUP BY OBJECT_TYPE; 이 쿼리 결과는 다음과 비슷해야 합니다. OBJECT_TYPE COUNT(*) INDEX 7 PROCEDURE 2 36

41 SEQUENCE 3 TABLE 7 VIEW 단계: Oracle DB Instance와의 연 결을 테스트하고 샘플 스키마 생성 다음 SQL 쿼리를 실행하여 HR 스키마에서 제약 개수를 확인합니다. Select CONSTRAINT_TYPE,COUNT(*) from dba_constraints where owner='hr' AND (CONSTRAINT_TYPE IN ('P','R')OR SEARCH_CONDITION_VC NOT LIKE '%NOT NULL%') GROUP BY CONSTRAINT_TYPE; 이 쿼리 결과는 다음과 비슷해야 합니다. 37

42 4단계: Aurora MySQL DB 인스 턴스와의 연결을 테스트합니다. CONSTRAINT_TYPE COUNT(*) R 10 P 7 C 2 6. 다음 SQL 쿼리를 실행하여 총 테이블 수와 각 테이블별 행 수를 확인합니다. Select table_name, num_rows from dba_tables where owner='hr' order by 1; 이 쿼리 결과는 다음과 비슷해야 합니다. TABLE_NAME NUM_ROWS COUNTRIES 25 DEPARTMENTS 27 EMPLOYEES 107 JOBS 19 JOB_HISTORY 10 LOCATIONS 23 REGIONS 4 7. 테이블에서 관계를 확인합니다. 다음 SQL 쿼리를 실행하여 10명이 넘는 직원이 있는 부서를 확인합니 다. Select b.department_name,count(*) from HR.Employees a,hr.departments b where a.department_id=b.department_id group by b.department_name having count(*) > 10 order by 1; 이 쿼리 결과는 다음과 비슷해야 합니다. DEPARTMENT_NAME COUNT(*) Sales 34 Shipping 45 4단계: Aurora MySQL DB 인스턴스와의 연결을 테스트 합니다. 그 다음, Aurora MySQL DB 인스턴스와의 연결을 테스트합니다. SQL Workbench/J를 사용하여 Aurora MySQL DB 인스턴스와의 연결을 테스트하려면 1. SQL Workbench/J에서 [File]을 선택한 후 [Connect window]를 선택합니다. [Create a new connection profile] 아이콘을 선택합니다. 다음 정보 사용: 다음과 같은 정보를 사용하여 SQL Workbench/J에서 Aurora MySQL DB 인스턴스에 연결합니다. 38

43 4단계: Aurora MySQL DB 인스 턴스와의 연결을 테스트합니다. 2. 이 파라미터의 경우... 수행할 작업 [New profile] 이름 RDSAuroraConnection을 입력합니다. [Driver] MySQL (com.mysql.jdbc.driver)을 선택합니다. [URL] 이전 단계에서 DMSdemo 스택의 출력 세부 정보를 검사했 을 때 기록한 [AuroraJDBCConnectionString] 값을 사용합니 다. [Username] auradmin을 입력합니다. [Password] AWS CloudFormation 템플릿을 사용하여 Aurora MySQL DB 인스턴스를 생성할 때 할당한 관리 사용자의 암호를 입 력합니다. 연결을 테스트하려면 [Test]를 선택합니다. [OK]를 선택하여 대화 상자를 닫은 후 [OK]를 선택하여 연결 프로필을 생성합니다. Note 용 Aurora MySQL DB 인스턴스에 연결 연결에 실패한 경우, CloudFormation 템플릿을 생성할 때 할당한 IP 주소가 연결을 시도한 IP 주소인지 확인합니다. 인스턴스에 연결할 때 가장 일반적으로 발생하는 문제입니다. 3. 마스터 관리 자격 증명을 사용하여 Aurora MySQL 인스턴스에 로그온합니다. 4. SHOW DATABASES;와 같은 샘플 SQL 명령을 실행하여 Aurora MySQL DB 인스턴스와의 연결을 확인 합니다. 39

44 5단계: AWS Schema Conversion Tool(AWS SCT)을 사 용하여 Oracle 스키마를 Aurora MySQL로 변환합니다. 5단계: AWS Schema Conversion Tool(AWS SCT)을 사용하여 Oracle 스키마를 Aurora MySQL로 변환합니 다. 데이터를 Aurora MySQL로 변환하기 전에 아래 설명과 같이 Oracle 스키마를 Aurora MySQL 스키마로 변환 합니다. AWS Schema Conversion Tool(AWS SCT)를 사용하여 Oracle 스키마를 Aurora MySQL 스키마로 변환하려면 1. AWS Schema Conversion Tool(AWS SCT)를 시작합니다. AWS SCT에서 [File]을 선택하고 나서 [New Project]를 선택합니다. DMSDemoProject라고 하는 새 프로젝트를 만듭니다. [New Project] 창에 다음 정보를 입력하고 [OK]를 선택합니다. 이 파라미터의 경우... 수행할 작업 [프로젝트 이름] DMSDemoProject를 입력합니다. [Location] 기본 [Projects] 폴더와 기본 [Transactional Database (OLTP)] 옵션을 사용합니다. [Source Database Engine] Oracle을 선택합니다. [Target Database Engine] [Amazon Aurora(MySQL Compatible)]를 선택합니다. 40

45 5단계: AWS Schema Conversion Tool(AWS SCT)을 사 용하여 Oracle 스키마를 Aurora MySQL로 변환합니다. 2. [Connect to Oracle]을 선택합니다. [Connect to Oracle] 대화 상자에서 다음 정보를 입력한 후 [Test Connection]을 선택합니다. 이 파라미터의 경우... 수행할 작업 Type [SID]를 선택합니다. [Server name] Oracle DB 인스턴스에 연결하는 데 사용한 [OracleJDBCConnectionString] 값을 사용하지만, JDBC 접두사 정보를 제거합니다. 예를 들어, SQL Workbench/J에서 사용하는 샘플 연결 문자열은 될 수도 있습니 다. AWS SCT [Server name]의 경우, 제거하고 서버 이름: "do1xa4grferti8y.cqiw4tcs0mg7.uswest-2.rds.amazonaws.com"만을 사용합니다. [Server port] [1521]을 입력합니다. [Oracle SID] ORCL을 입력합니다. 사용자 이름 oraadmin을 입력합니다. [Password] AWS CloudFormation 템플릿을 사용하여 Oracle DB 인스 턴스를 생성할 때 할당한 관리 사용자의 암호를 입력합니다. 41

46 5단계: AWS Schema Conversion Tool(AWS SCT)을 사 용하여 Oracle 스키마를 Aurora MySQL로 변환합니다. 3. [OK]를 선택하여 알림 상자를 닫은 후 [OK]를 선택하여 이 대화 상자를 닫고 Oracle DB 인스턴스와의 연 결을 시작합니다. Oracle DB 인스턴스의 데이터베이스 구조가 표시됩니다. HR 스키마만을 선택합니다. 42

47 5단계: AWS Schema Conversion Tool(AWS SCT)을 사 용하여 Oracle 스키마를 Aurora MySQL로 변환합니다. 4. [Connect to Amazon Aurora]를 선택합니다. [Connect to Amazon Aurora] 대화 상자에서 다음 정보를 입 력한 후 [Test Connection]을 선택합니다. 이 파라미터의 경우... 수행할 작업 Type [SID]를 선택합니다. [Server name] Aurora MySQL DB 인스턴스에 연결하는 데 사용한 [AuroraJDBCConnectionString] 값을 사용하지만, JDBC 접두사 정보와 포트 접두사를 제거합니다. 예를 들어, SQL Workbench/J에서 사용하는 샘플 연결 문자열은 "jdbc:mysql://dmsdemo-auroracluster-1u1ogdfg35v.clustercqiw4tcs0mg7.us-west-2.rds.amazonaws.com:3306"이 될 수도 있습니다. AWS SCT [Server name]의 경우, ":3306"을 제거하고 서버 이 름: "dmsdemo-auroracluster-1u1ogdfg35v.clustercqiw4tcs0mg7.us-west-2.rds.amazonaws.com"만을 사용합 니다. 43

48 5단계: AWS Schema Conversion Tool(AWS SCT)을 사 용하여 Oracle 스키마를 Aurora MySQL로 변환합니다. 이 파라미터의 경우... 수행할 작업 [Server port] [3306]을 입력합니다. [User name] auradmin을 입력합니다. [Password] AWS CloudFormation 템플릿을 사용하여 Oracle DB 인스 턴스를 생성할 때 할당한 관리 사용자의 암호를 입력합니다. AWS SCT는 HR 스키마를 분석하고 데이터베이스 마이그레이션 평가 보고서를 생성하여 Amazon Aurora MySQL로 변환합니다. 5. [OK]를 선택하여 알림 상자를 닫은 후 [OK]를 선택하여 이 대화 상자를 닫고 Amazon Aurora MySQL DB 인스턴스와의 연결을 시작합니다. 6. HR 스키마를 마우스 오른쪽 버튼으로 클릭하고 [Create Report]를 선택합니다. 44

49 5단계: AWS Schema Conversion Tool(AWS SCT)을 사 용하여 Oracle 스키마를 Aurora MySQL로 변환합니다. 7. 보고서 및 보고서가 제안하는 작업 항목을 확인합니다. 이 보고서에서는 잠재적인 마이그레이션 문제 및 이 문제를 해결하는 조치와 더불어 AWS SCT를 사용하여 변환할 수 있는 객체 유형에 대해 다룹니다. 이 연습에서는 다음과 같은 항목이 표시됩니다. 45

50 8. 5단계: AWS Schema Conversion Tool(AWS SCT)을 사 용하여 Oracle 스키마를 Aurora MySQL로 변환합니다. 자세한 분석을 위해 보고서를.csv 또는.pdf 형식으로 저장하고 나서 [Action Items] 탭을 선택합니다. 이 작업 항목에서는 다음 문제 2개가 나타납니다. 1. MySQL은 점검 제약을 지원하지 않고, 2. MySQL은 시 퀀스를 지원하지 않습니다. 작업 항목 #1의 경우, SCT는 트리거를 자동으로 프로비저닝하여 Aurora MySQL 데이터베이스에서 점 검 제약을 시뮬레이션합니다(에뮬레이트 트리거). 예를 들어, EMPLOYEES 테이블(Oracle에서)에서 SAL > 0의 점검 제약은 Aurora MySQL의 이전 및 업데이트 트리거 문을 사용하여 적용됩니다. 이 로직 이 애플리케이션 계층에서 처리되도록 하려는 경우, 필요에 따라 트리거를 삭제하거나 업데이트할 수 있 습니다. 작업 항목 #2의 경우, EMPLOYEES(EMPLOYEE_ID), DEPARTMENTS(DEPARTMENT_ID), LOCATIONS(LOCATION_ID) 테이블용 기본 키를 생성할 때 사용되는 원본 데이터베이스에 시퀀스 객 체 3개가 있습니다. 이 예제에서 앞서 언급한 바와 같이 Aurora MySQL에서 대리 키용 시퀀스 사용을 대체하는 한 가지 방법은 auto_increment 기능을 사용하는 것입니다. auto_increment 기능을 활성화 하려면, SCT 설정을 변경해야 합니다. 간결함을 위해 다음 하위 단계에서는 EMPLOYEES 테이블의 EMPLOYEE_ID 열에서만 auto_increment 활성화를 보여줍니다. 다른 시퀀스 객체에서 동일한 절차를 반복할 수 있습니다. 시작하기 전에 auto_increment 옵션을 활성화하려면 다음 이유로 SCT를 통해 일부 추가 단계를 진행해 야 한다는 점에 유의하십시오. 기본적으로 SCT는 모든 NUMBER(Oracle) 데이터 형식을 Aurora MySQL에서 DECIMAL로 변환합 니다( CHAP_SchemaConversionTool.Reference.ConversionSupport.Oracle.html#d0e50104). Aurora MySQL는 DECIMAL 데이터 형식에 대해 auto_increment를 지원하지 않습니다. 따라서 기본 키 열과 해당 외래 키 열의 데이터 형식을 스키마 변환의 일부로서 INT, SMALLINT, MEDIUMINT 또는 BIGINT와 같은 INTEGER 데이터 형식 중 하나로 변경해야 합니다. 한 가지 반가운 소식은 최신 SCT 릴리스에 [Mapping Rules] 기능이 포함되어 있어 다음 단계를 진행하 여 위의 변환을 수행할 수 있습니다. 1. EMPLOYEES 테이블에서는 기본 키와 외래 키 관계를 확인하기 위해 원본 Oracle 데이터베이스에 서 다음 쿼리를 실행해야 합니다. SCT 매핑 규칙에서 지정되어야 하는 열을 적으십시오. SELECT * FROM (SELECT PK.TABLE_NAME, C.COLUMN_NAME, PK.CONSTRAINT_TYPE FROM DBA_CONSTRAINTS PK, DBA_CONS_COLUMNS C WHERE PK.CONSTRAINT_NAME = C.CONSTRAINT_NAME AND PK.OWNER = 'HR' AND PK.TABLE_NAME = 'EMPLOYEES' AND PK.CONSTRAINT_TYPE = 'P' UNION SELECT FK.TABLE_NAME, COL.COLUMN_NAME, FK.CONSTRAINT_TYPE FROM DBA_CONSTRAINTS PK, DBA_CONSTRAINTS FK, DBA_CONS_COLUMNS COL WHERE PK.CONSTRAINT_NAME = FK.R_CONSTRAINT_NAME AND FK.CONSTRAINT_TYPE = 'R' AND FK.CONSTRAINT_NAME = COL.CONSTRAINT_NAME AND PK.OWNER = 'HR' AND PK.TABLE_NAME = 'EMPLOYEES' AND PK.CONSTRAINT_TYPE = 'P' ) ORDER BY 3 ASC; 46

51 5단계: AWS Schema Conversion Tool(AWS SCT)을 사 용하여 Oracle 스키마를 Aurora MySQL로 변환합니다. 쿼리 결과는 다음과 비슷해야 합니다. TABLE_NAME COLUMN_NAME CONSTRAINT_TYPE EMPLOYEES EMPLOYEE_ID P JOB_HISTORY EMPLOYEE_ID R EMPLOYEES MANAGER_ID R DEPARTMENTS MANAGER_ID R 2. [Settings]를 선택하고 나서 [Mapping Rules]를 선택합니다. 3. 1단계에서 확인된 열 목록에서 데이터 형식 변환에 대한 매핑 규칙을 지정합니다. 아래 설명과 같기 각 열별로 하나씩 규칙 4개를 지정해야 합니다. 이 파라미터의 경우 규칙 1 규칙 2 규칙 3 규칙 4 이름 EMP_SEQ1 EMP_SEQ2 JOB_SEQ1 DEPT_SEQ1 대상 열 선택 열 선택 열 선택 열 선택 장소 HR HR HR HR (스키마 이름) 및 (테이블 이름) 및 (열 이름) EMPLOYEES EMPLOYEES JOB_HISTORY DEPARTMENTS Actions [Change data type] 선택 [Change data type] 선택 [Change data type] 선택 [Change data type] 선택 끝 SMALLINT SMALLINT SMALLINT SMALLINT EMPLOYEE_ID MANAGER_ID EMPLOYEE_ID MANAGER_ID 실제 시나리오에서는 요구 사항을 기준으로 데이터를 선택하게 됩니다. 47

52 단계: AWS Schema Conversion Tool(AWS SCT)을 사 용하여 Oracle 스키마를 Aurora MySQL로 변환합니다. [Would you like to save Mapping Rule settings?]에서 [Yes]를 선택합니다. HR 스키마를 오른쪽 버튼으로 클릭한 다음 [Convert schema]를 선택합니다. 10. 확인 메시지에서 [Yes]를 선택합니다. 그런 다음 AWS SCT는 스키마를 대상 데이터베이스 형식으로 변 환합니다. 48

53 5단계: AWS Schema Conversion Tool(AWS SCT)을 사 용하여 Oracle 스키마를 Aurora MySQL로 변환합니다. 11. HR 스키마를 선택하고 나서 [Apply to database]를 선택하여 다음과 같이 스키마 스크립트를 대상 Aurora MySQL 인스턴스에 적용합니다. 12. HR 스키마를 선택하고 나서 [Refresh from Database]를 선택하여 다음과 같이 대상 데이터베이스를 새 로 고칩니다. 49

54 6단계: 스키마 변환 검증 이제 데이터베이스 스키마가 변환되어 원본에서 대상으로 가져올 수 있습니다. 6단계: 스키마 변환 검증 스키마 변환을 확인하려면, SQL Workbench/J를 사용하여 Oracle과 Aurora MySQL 데이터베이스에 있는 객 체를 비교합니다. SQL Workbench/J를 사용하여 스키마 변환을 검증하려면 SQL Workbench/J에서 [File]을 선택한 후 [Connect window]를 선택합니다. 이전 단계에서 생성한 RDSAuroraConnection을 선택합니다. [OK]를 클릭합니다. 다음 스크립트를 실행하여 대상 Aurora MySQL 데이터베이스에서 객체 형식 개수와 HR 스키마 개수를 확인합니다. 이 값은 원본 Oracle 데이터베이스의 객체 수와 일치해야 합니다. SELECT a.object_type, COUNT(*) FROM ( SELECT OBJECT_TYPE,OBJECT_SCHEMA,OBJECT_NAME FROM ( SELECT 'TABLE' AS OBJECT_TYPE,TABLE_NAME AS OBJECT_NAME,TABLE_SCHEMA AS OBJECT_SCHEMA FROM information_schema.tables 50

55 6단계: 스키마 변환 검증 where TABLE_TYPE='BASE TABLE' UNION SELECT 'VIEW' AS OBJECT_TYPE,TABLE_NAME AS OBJECT_NAME,TABLE_SCHEMA AS OBJECT_SCHEMA FROM information_schema.views UNION SELECT 'INDEX' AS OBJECT_TYPE,CONCAT ( CONSTRAINT_TYPE,' : ',CONSTRAINT_NAME,' : ',TABLE_NAME ) AS OBJECT_NAME,TABLE_SCHEMA AS OBJECT_SCHEMA FROM information_schema.table_constraints where constraint_type='primary KEY' UNION SELECT ROUTINE_TYPE AS OBJECT_TYPE,ROUTINE_NAME AS OBJECT_NAME,ROUTINE_SCHEMA AS OBJECT_SCHEMA FROM information_schema.routines UNION SELECT 'TRIGGER' AS OBJECT_TYPE,CONCAT ( TRIGGER_NAME,' : ',EVENT_OBJECT_SCHEMA,' : ',EVENT_OBJECT_TABLE ) AS OBJECT_NAME,TRIGGER_SCHEMA AS OBJECT_SCHEMA FROM information_schema.triggers ) R WHERE R.OBJECT_SCHEMA ='HR' order by 1) a GROUP BY a.object_type; 이 쿼리는 다음과 비슷한 내용을 출력해야 합니다. OBJECT_TYPE COUNT(*) INDEX 7 PROCEDURE 2 TABLE 7 TRIGGER 4 VIEW 1 그 다음, 다음 쿼리를 실행하여 테이블 제약 정보를 가져옵니다. SELECT CONSTRAINT_TYPE,COUNT(*) FROM information_schema.table_constraints where constraint_schema='hr' GROUP BY CONSTRAINT_TYPE; 이 쿼리는 다음과 비슷한 내용을 출력해야 합니다. 51

56 6단계: 스키마 변환 검증 CONSTRAINT_TYPE COUNT(*) FOREIGN KEY 10 PRIMARY KEY 7 3. 다음 단계를 진행하여 EMPLOYEES 테이블에서 auto_increment 옵션을 활성화한 후 원본 Oracle 데이 터베이스의 시퀀스 기능을 에뮬레이션합니다. 1. 데이터 형식 변환에 대한 매핑 규칙이 대상 Aurora MySQL 데이터베이스에서 다음 쿼리를 실행하 여 EMPLOYEES 및 해당 종속적 테이블에서 올바르게 실행되었는지 확인합니다. SELECT kcu.constraint_name, kcu.column_name, col.data_type, kcu.table_schema, kcu.table_name, kcu.referenced_column_name FROM information_schema.key_column_usage kcu, information_schema.table_constraints tc, information_schema.columns col WHERE kcu.referenced_table_schema = 'HR' AND kcu.referenced_table_name = 'EMPLOYEES' AND kcu.referenced_table_name=tc.table_name AND kcu.referenced_table_schema=tc.table_schema AND tc.constraint_type='primary KEY' AND col.column_name=kcu.column_name and col.table_name=kcu.table_name ORDER BY kcu.table_name,kcu.column_name; 쿼리 결과는 다음과 같아야 합니다. constraint_name column_name data_type referenced_column_name DEPT_MGR_FK MANAGER_ID Smallint HR EMP_MANAGER_FK MANAGER_ID Smallint JHIST_EMP_FK EMPLOYEE_ID Smallint 2. table_schema table_name DEPARTMENTS EMPLOYEE_ID HR EMPLOYEES EMPLOYEE_ID HR JOB_HISTORY EMPLOYEE_ID 다음 명령을 실행하여 EMPLOYEES 테이블에 대한 외래 키 점검을 비활성화합니다. 이 단계는 기 본 키 열을 변경하기 전에 진행해야 합니다. 경고 메시지를 무시해도 됩니다. SET FOREIGN_KEY_CHECKS=0; 3. 기본 키 열을 수정하여 auto_increment 옵션을 활성화하려면 다음 명령을 실행합니다. Alter table HR.EMPLOYEES modify column employee_id smallint auto_increment; 4. 다음 쿼리를 실행하여 열 세부 정보를 확인합니다. SELECT column_name, column_type,column_key,extra from information_schema.columns where table_name = 'EMPLOYEES' AND COLUMN_NAME='EMPLOYEE_ID'; 쿼리 결과는 다음과 같아야 합니다. 52

57 7단계: AWS DMS 복제 인스턴스를 생성합니다. column_name column_type column_key extra employee_id smallint(6) PRI auto_increment 다음 테이블에는 예상되는 객체 수와 이 객체가 AWS SCT를 통해 마이그레이션되었는지 여부가 나옵니 다. 파라미터 Oracle에서 의 개수 # Amazon Aurora MySQL에서 AWS SCT를 SCT 권장 통해 마이그 레이션됨 INDEX 7 7 예 PROCEDURE 2 2 예 SEQUENCE 3 3 예, 매핑 규 칙 사용 TABLE 7 7 예 VIEW 1 1 예 기본 키 예 외래 키 7 7 예 제약 점검 2 4개(트리거) 코드 변환 시퀀스 기능은 Aurora MySQL의 auto_increment 기능을 사용하여 구현됩니 다. Aurora MySQL에서 제약이 지원되지 않는지 확인합니 다. AWS SCT는 삽입 또는 업데이트 문 앞에서 트리거 를 생성한 후 이 제약이 있 었던 테이블의 점검 제약을 모방합니다. AWS 이 사이트에서 AWS가 제공한 스프레드시크에 나오는 결과 또는 이 사이트에서 AWS가 제공한 텍 스트 문서를 확인합니다. 7단계: AWS DMS 복제 인스턴스를 생성합니다. 앞의 설명과 같이 원본과 대상 데이터베이스에서 스키마 구조를 검증한 후 이 연습의 핵심 부분인 데이터 마 이그레이션으로 진행합니다. 다음 그림은 마이그레이션 프로세스의 상위 수준 보기를 보여줍니다. DMS 복제 인스턴스는 원본과 대상 간에 실제 데이터 마이그레이션을 수행합니다. 복제 인스턴스도 마이그 레이션 중에 트랜잭션 로그를 캐시합니다. 복제 인스턴스가 갖는 CPU와 메모리 용량은 마이그레이션에 필 요한 전체 시간에 영향을 줍니다. 53

58 8단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. AWS DMS 복제 인스턴스를 생성하려면 AWS Management Console에 로그인하고 AWS DMS를 선 택하고 [Create Migration]을 선택합니다. AWS Identity and Access Management(IAM) 사용자로서 로그 인한 경우에는 AWS DMS 액세스를 위한 적절한 권한이 있어야 합니다. 필요한 권한에 대한 자세한 내 용은 AWS DMS 사용에 필요한 IAM 권한을 참조하십시오. [Next]를 선택하여 콘솔의 [Welcome] 페이지에서 데이터베이스 마이그레이션을 시작합니다. 3. [Create replication instance] 페이지에서 다음과 같이 복제 인스턴스 정보를 지정합니다. 4. 이 파라미터의 경우... 수행할 작업 이름 [DMSdemo-repserver]를 입력합니다. 설명 DMS 데데 데데 데데와 같은 간략한 설명을 입력합니다. 인스턴스 클래스 [dms.t2.medium]을 선택합니다. 이 인스턴스 클래스는 작은 테이블 집합을 마이그레이션하기에 충분히 큽니다. [VPC] CloudFormation 스택에서 생성된 VPC인 DMSDemoVPC를 선택합니다. [Multi-AZ] [No]를 선택합니다. [Publicly accessible] 이 항목을 선택한 상태로 둡니다. [Advanced] 섹션에서 기본 설정은 그대로 두고, [Next: Tag Instance]를 선택합니다. 8단계: AWS DMS 원본과 대상 엔드포인트를 생성합니 다. 복제 인스턴스가 생성되는 동안 AWS Management Console을 사용하여 원본과 대상 데이터베이스 엔드포 인트를 지정할 수 있습니다. 그렇지만, 복제 인스턴스는 연결에 사용되기 때문에 복제 인스턴스가 생성된 후 에는 연결을 테스트만할 수 있습니다. AWS 콘솔을 사용하여 원본 또는 대상 데이터베이스 엔드포인트를 지정하려면 1. 원본 Oracle 데이터베이스와 대상 Amazon Aurora MySQL 데이터베이스에 대한 연결 정보를 지정합니 다. 다음 표는 원본 설정에 대한 설명입니다. 이 파라미터의 경우... 수행할 작업 [Endpoint Identifier] Orasource(Amazon RDS Oracle 엔드포인트)를 입력합니 다. 소스 엔진 [oracle]을 선택합니다. [Server name] Oracle DB 인스턴스 이름을 입력합니다. 이 것은 "do1xa4grferti8y.cqiw4tcs0mg7.uswest-2.rds.amazonaws.com"와 같이 AWS SCT에서 사용한 [Server name]입니다. [Port] [1521]을 입력합니다. [SSL mode] [None]을 선택합니다. 사용자명 oraadmin을 입력합니다. 54

59 8단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. 이 파라미터의 경우... 수행할 작업 [Password] Oracle DB 인스턴스에 암호를 입력합니다. [SID] Oracle 데이터베이스 이름을 입력합니다. 다음 표는 대상 설정에 대한 설명입니다. 이 파라미터의 경우... 수행할 작업 [Endpoint Identifier] Aurtarget(Amazon Aurora MySQL 엔드포인트)을 입력합 니다. [Target Engine] [aurora]를 선택합니다. [Servername ] Aurora MySQL DB 인스턴스 이름을 지정합니다. 이것 은 "dmsdemo-auroracluster-1u1oyqny35jwv.clustercqiw4tcs0mg7.us-west-2.rds.amazonaws.com"과 같이 AWS SCT에서 사용한 [Server name]입니다.. [Port] [3306]을 입력합니다. [SSL mode] [None]을 선택합니다. [Username] auraadmin을 입력합니다. [Password] Aurora MySQL DB 인스턴스의 암호를 지정합니다. 완료한 페이지는 다음과 같아야 합니다. 55

60 8단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. 2. 초기 데이터 로드 중에 외래 키 점검을 비활성화하려면, 다음 명령을 대상 Aurora MySQL DB 인스턴스 에 추가해야 합니다. 다음과 같이 [Advanced] 섹션에서 [Extra connection attributes]에 다음 명령을 입력 합니다. initstmt=set FOREIGN_KEY_CHECKS=0, autocommit=1 첫 번째 명령은 로드 중에 외래 키 점검을 비활성화하고, 두 번째 명령은 DMS가 실행하는 트랜잭션을 커밋합니다. 56

61 9단계: AWS DMS 마이그레이션 작업 생성 및 실행 3. [Next]를 선택합니다. 9단계: AWS DMS 마이그레이션 작업 생성 및 실행 AWS DMS 작업을 사용하여 마이그레이션할 스키마와 마이그레이션 유형을 지정할 수 있습니다. 기존 데이 터를 마이그레이션하거나, 지속적 변경 사항을 복제하거나, 또는 데이터 변경 사항만 복제할 수 있습니다. 이 연습에서는 기존 데이터만을 마이그레이션합니다. 마이그레이션 작업을 생성하려면 1. [Create Task] 페이지에서 작업 옵션을 지정합니다. 다음 표는 설정에 대한 설명입니다. 이 파라미터의 경우... 수행할 작업 [Task name] migratehrschema를 입력합니다. [Task description] 작업 설명을 입력합니다. [Source endpoint] orasource(amazon RDS Oracle 엔드포인트)를 보여줍니 다. [Target endpoint] aurtarget(amazon Aurora MySQL 엔드포인트)을 표시합 니다. 57

62 9단계: AWS DMS 마이그레이션 작업 생성 및 실행 이 파라미터의 경우... 수행할 작업 복제 인스턴스 DMSdemo-repserver(이전 단계에서 생성한 AWS DMS 복제 인스턴스)를 보여줍니다. [Migration type] [Migrate existing data] 옵션을 선택합니다. [Start task on create] 이 옵션을 선택합니다. 이 페이지는 다음과 같이 보여야 합니다. 2. [Task Settings]에서 [Target table preparation mode]에 대해 [Do nothing]을 선택합니다. 그 이유는 스키 마 마이그레이션 도구를 통해 이미 테이블을 생성했기 때문입니다. 이 마이그레이션에 LOB가 포함되어 있지 않기 때문에 기본값을 LOB 설정으로 두어야 합니다. 선택적으로 [Enable logging]을 선택할 수 있습니다. 로깅을 활성화할 경우, CloudWatch 로그 생성에 대 해 Amazon CloudWatch 요금이 추가로 부과됩니다. 이 연습에서는 로그가 필요하지 않습니다. 58

63 9단계: AWS DMS 마이그레이션 작업 생성 및 실행 3. [Advanced] 설정을 기본값으로 둡니다. 4. [Table mappings]를 선택하고 [Mapping method]에서 [Default]를 선택하고 나서 [Schema to migrate]에 서 [HR]을 선택합니다. 완료한 섹션은 다음과 같이 보여야 합니다. 5. [Create task]를 선택합니다. 작업이 즉시 시작됩니다. 59

64 10단계: AWS DMS 마이그레이션 이 성공적으로 완료되었는지 확인 [Tasks] 섹션에는 마이그레이션 작업 상태가 나타납니다. 작업을 설정할 때 [Enable logging]을 선택하면 작업을 모니터링할 수 있습니다. 그리고 나서 다음 작업을 수 행하여 CloudWatch 측정치를 확인할 수 있습니다. 진행 중인 데이터 마이그레이션 작업을 모니터링하려면 1. 탐색 창에서 [Tasks]를 선택합니다. 2. 마이그레이션 작업(migratehrschema)을 선택합니다. 3. [Task monitoring] 탭을 선택하고 이 탭에서 진행 중인 작업을 모니터링합니다. 10단계: AWS DMS 마이그레이션이 성공적으로 완료되 었는지 확인 마이그레이션 작업이 완료되면, 작업 결과를 예상 결과와 비교할 수 있습니다. 마이그레이션 작업 결과를 예상 결과와 비교하려면 1. 탐색 창에서 [Tasks]를 선택합니다. 2. 마이그레이션 작업(migratehrschema)을 선택합니다. 3. 다음 그림과 같이 [Table statistics] 탭을 선택합니다. 60

65 10단계: AWS DMS 마이그레이션 이 성공적으로 완료되었는지 확인 4. SQL Workbench/J를 사용하여 Amazon Aurora MySQL 인스턴스에 연결하고 나서 데이터베이스 테이블 을 Oracle에서 Aurora MySQL로 마이그레이션했는지 여부를 확인하기 위해 다음 그림과 같이 SQL 스크 립트를 실행합니다. Show databases; Use HR; SELECT TABLE_NAME,TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'HR' and TABLE_TYPE='BASE TABLE' order by 1; 61

66 11단계: 연습 리소스 삭제 5. 이전 쿼리의 테이블 출력과 행 수가 RDS Oracle에서 예상한 수치와 일치하는지 확인하기 위해, 이 사이 트의 AWS에서 제공한 스프레드시트의 결과와 현재 결과를 비교합니다. 6. 다음 쿼리를 실행하여 테이블에서 관계를 확인합니다. 이 쿼리는 10명이 넘는 직원이 있는 부서를 확인 합니다. SELECT B.DEPARTMENT_NAME,COUNT(*) FROM HR.EMPLOYEES A,HR.DEPARTMENTS B WHERE A.DEPARTMENT_ID=B.DEPARTMENT_ID GROUP BY B.DEPARTMENT_NAME HAVING COUNT(*) > 10 ORDER BY 1; 이 쿼리는 다음과 비슷한 내용을 출력해야 합니다. department_name count(*) Sales 34 Shipping 45 이제 Amazon RDS Oracle DB 인스턴스에서 Amazon Aurora MySQL로 데이터베이스 마이그레이션을 완료 했습니다. 11단계: 연습 리소스 삭제 이 연습을 완료한 뒤에는 다음 단계를 수행하여 이 연습에서 사용된 추가 AWS 리소스에 요금이 부과되지 않 도록 다음 단계를 수행합니다. 일부 리소스가 다른 리소스에 대한 종속성이 있는 경우 이 리소스는 삭제할 수 없기 때문에 단계를 순서대로 수행해야 합니다. AWS DMS 리소스를 삭제하려면 1. 탐색 창에서 [Tasks]를 선택하고, 마이그레이션 작업(migratehrschema)을 선택한 후 [Delete]를 선택 합니다. 62

67 다음 단계 2. 탐색 창에서 [Endpoints]를 선택하고, Oracle 소스 엔드포인트(orasource)를 선택하고 나서 [Delete]를 선택합니다 Amazon Aurora MySQL 대상 엔드포인트 (aurtarget)를 선택하고 나서 [Delete]를 선택합니다. 탐색 창에서 [Replication instances]를 선택하고, 복제 인스턴스(DMSdemo-repserver)를 선택하고 나 서 [Delete]를 선택합니다. 그런 다음 AWS CloudFormation 스택 DMSdemo를 삭제해야 합니다. AWS CloudFormation 스택을 삭제하려면 1. AWS Management 콘솔에 로그인한 다음 AWS CloudFormation 콘솔을 엽니다. AWS Identity and Access Management(IAM) 사용자로서 로그인한 경우에는 AWS CloudFormation 액 세스를 위한 적절한 권한이 있어야 합니다. 2. CloudFormation 스택 DMSdemo를 선택합니다. 3. [ Actions]에서 [Delete stack]을 선택합니다. 스택 상태가 DELETE_IN_PROGRESS로 바뀌고, AWS CloudFormation이 DMSdemo 스택과 관련된 리소스 를 정리합니다. AWS CloudFormation이 리소스 정리를 마치면 목록에서 스택을 제거합니다. 다음 단계 다음 기능을 포함하여 이 연습에 포함되지 않은 AWS DMS의 다른 여러 기능을 살펴볼 수 있습니다. 데이터의 지속적 복제를 위한 AWS DMS 변경 데이터 캡처(CDC) 기능입니다. 마이그레이션 프로세스의 일부로서 변환을 지정하고 선택한 스키마에 적용할 수 있는 변환 작업입니다. 자세한 내용은 the AWS DMS 설명서를 참조하십시오. AWS CloudFormation 템플릿, SQL 스크립트 및 기 타 리소스 다음에 나열된 AWS 사이트에는 이 연습에서 사용된 AWS CloudFormation 템플릿, SQL 스크립트 및 기타 리소스가 나와 있습니다. Oracle 스키마 SQL 스크립트 AWS CloudFormation 템플릿 SQL 확인 스크립트, 스프레드시트 형식 SQL 확인 스크립트, 텍스트 형식 아키텍처 다이어그램,.jpg 형식 또는 아키텍처 다이어그램,.vsd 형식 MySQL JDBC 드라이버,.jar 파일 형식 Oracle Database JDBC 드라이버,.jar 파일 형식 참조 다음 설명서와 샘플 스키마는 이 연습에서 참조로서 유용할 수 있습니다. 63

68 참조 AWS DMS 설명서 AWS SCT 설명서 Oracle 샘플 스키마 64

69 사전 조건 SQL Server 데이터베이스를 Amazon Aurora MySQL로 마이그레이션 이 연습을 통해 (AWS DMS) 및 AWS Schema Conversion Tool(AWS SCT)을 사용하여 Microsoft SQL Server 데이터베이스를 MySQL과 호환되는 Amazon Aurora 데이터베이스 로 마이그레이션하는 방법을 배울 수 있습니다. AWS DMS는 데이터를 SQL Server 원본의 데이터를 Aurora MySQL 대상으로 마이그레이션합니다. AWS DMS는 특히 데이터 마이그레이션과 관련되지 않은 보조 인덱스, 시퀀스, 기본값, 저장된 절차, 트리거, 동의어, 보기 및 기타 스키마 객체를 마이그레이션하지 않습니다. 이러한 객체를 Aurora MySQL 대상으로 마 이그레이션하려면 AWS SCT를 사용합니다. 항목 사전 조건 (p. 65) 단계별 마이그레이션 (p. 66) 문제 해결 (p. 85) 사전 조건 이 연습을 완료하려면 다음 사전 요구 사항이 충족되어야 합니다. Amazon Relational Database Service(Amazon RDS), 해당되는 데이터베이스 기술 및 SQL을 이해합니다. AWS 리전에서 Amazon RDS 및 (AWS DMS) 인스턴스를 시작하는 데 사용되는 AWS Identity and Access Management(IAM) 자격 증명으로 AWS 계정을 생성합니다. IAM 자격 증명에 대한 자세한 내용은 IAM 사용자 생성을 참조하십시오. Amazon Virtual Private Cloud(Amazon VPC) 서비스 및 보안 그룹을 이해합니다. Amazon RDS에서 Amazon VPC를 사용하는 방법에 대한 정보는 Amazon Virtual Private Cloud(VPC) 및 Amazon RDS 섹션 을 참조하십시오. Amazon RDS 보안 그룹에 대한 자세한 내용은 Amazon RDS 보안 그룹을 참조하십시 오. AWS DMS의 지원 기능 및 제한 사항에 대해 이해합니다. AWS DMS에 대한 자세한 내용은 AWS Database Migration Service란 무엇입니까? 를 참조하십시오. Microsoft SQL Server를 원본으로, Amazon Aurora MySQL을 대상으로 사용하여 작업하는 방법을 이해 합니다. 원본으로서 SQL Server를 사용한 작업에 대한 자세한 내용은 Using a SQL Server Database as a Source for 를 참조하십시오. Aurora MySQL은 MySQL 호환 데이터 베이스입니다. 원본으로 Aurora MySQL을 사용한 작업에 대한 자세한 내용은 AWS Database Migration Service에서 MySQL 호환 데이터베이스를 원본으로 사용 을 참조하십시오. SQL Server 및 Aurora MySQL에 대해 지원되는 데이터 형식 변환 옵션을 이해합니다. 원본으로 사용되는 SQL Server의 데이터 형식에 대한 자세한 내용은 Microsoft SQL Server용 원본 데이터 형식을 참조하십시 오. 대상으로 사용되는 Aurora MySQL의 데이터 형식에 대한 자세한 내용은 MySQL용 대상 데이터 형식을 참조하십시오. 대상 Aurora MySQL 데이터베이스 호스트의 규모를 조정합니다. DBA는 현재 원본 SQL Server 데이터 베이스 호스트의 로드 프로필을 알고 있어야 합니다. CPU, 메모리 및 IOPS를 고려합니다. Amazon RDS 를 사용하여 마이그레이션 후에 대상 데이터베이스 호스트의 규모를 늘리거나 줄일 수 있습니다. Aurora MySQL로 처음 마이그레이션하는 경우에는 성능 문제와 튜닝 기회를 고려하여 추가 용량을 확보하는 것 이 좋습니다. 65

70 단계별 마이그레이션 원본 SQL Server 데이터베이스를 감사합니다. 각 스키마와 스키마 아래에 있는 모든 객체에 대해 객체가 더 이상 사용되지 않는지 여부를 알아봅니다. 더 이상 사용되지 않는 경우 마이그레이션할 필요가 없으므 로 원본 SQL Server 데이터베이스에서 이러한 객체를 사용 중지합니다. 두 마이그레이션 옵션, 즉 기존 데이터만 마이그레이션하는 옵션과 기존 데이터를 마이그레이션하고 지속 적인 변경 내용을 복제하는 옵션 중에서 결정합니다. 기존 데이터만 마이그레이션하는 경우 마이그레이션은 SQL Server 원본 데이터베이스에서 Aurora MySQL 대상 데이터베이스로 전송되는 일회성 데이터 전송입니다. 원본 데이터베이스가 마이그레이션 중에 변경 가능한 상태로 유지되는 경우 마이그레이션이 완료된 후에 이러한 변경 내용이 대상 데이터베 이스에 적용되어야 합니다. Note SQL Server 데이터베이스가 Amazon RDS 데이터베이스인 경우 복제가 지원되지 않으므로 기 존 데이터만 마이그레이션하는 옵션을 사용해야 합니다. 기존 데이터를 마이그레이션하고 지속적인 변경 내용을 복제하는 경우 사용할 수 있는 한 가지 옵션은 원본 데이터베이스 변경 내용을 복제하는 것입니다. 복제 시 마이그레이션 프로세스 중에 원본 데이터 베이스와 대상 데이터베이스가 서로 동기화 상태로 유지되어 데이터베이스 중단 시간이 감소될 수 있습 니다. 이 옵션을 사용하는 경우 초기 동기화 작업을 완료하고 나서 MS-REPLICATION을 구성합니다. 이 옵션을 사용하려면 Standard, Enterprise 또는 Developer SQL Server 에디션이 필요합니다. 데이터베이 스 원본으로 사용할 각 SQL Server 인스턴스에 대해 MS-REPLICATION을 활성화합니다. 기존 데이터를 마이그레이션하고 지속적인 변경 내용을 복제하려는 경우 사용할 수 있는 또 한 가지 옵 션은 복제 대신에 변경 데이터를 캡처(CDC)하는 것입니다. 이 옵션을 사용하면 AWS DMS가 데이터의 지속적인 마이그레이션을 수행할 수 있습니다. CDC의 경우, AWS DMS는 CDC 테이블을 사용하여 지 속적인 데이터베이스 마이그레이션을 활성화합니다. 이 옵션을 사용하려면 Enterprise 또는 Developer SQL Server 에디션이 필요합니다. AWS DMS에 대한 자세한 내용은 AWS DMS 사용 설명서를 참조하십시오. 단계별 마이그레이션 다음 단계에서는 Microsoft SQL Server 데이터베이스를 Amazon Aurora MySQL 데이터베이스로 마이그레 이션하기 위한 지침을 제공합니다. 이러한 단계에서는 사전 조건 (p. 65)에 설명된 대로 원본 데이터베이 스를 이미 준비했다고 가정합니다. 항목 1단계: 로컬 컴퓨터에 SQL 드라이버와 AWS Schema Conversion Tool 설치 (p. 66) 2단계: Microsoft SQL Server 원본 데이터베이스 구성 (p. 67) 3단계: Aurora MySQL 대상 데이터베이스 구성 (p. 69) 4단계: AWS SCT를 사용하여 SQL Server 스키마를 Aurora MySQL로 변환합니다. (p. 69) 5단계: AWS DMS 복제 인스턴스 생성 (p. 77) 6단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. (p. 78) 7단계: AWS DMS 마이그레이션 작업 생성 및 실행 (p. 82) 8단계: Aurora MySQL로 전환 (p. 85) 1단계: 로컬 컴퓨터에 SQL 드라이버와 AWS Schema Conversion Tool 설치 먼저 로컬 컴퓨터에 SQL 드라이버와 AWS Schema Conversion Tool(AWS SCT)을 설치합니다. 66

71 2단계: Microsoft SQL Server 원본 데이터베이스 구성 SQL 클라이언트 소프트웨어를 설치하려면 1. Microsoft SQL Server용 JDBC 드라이버를 다운로드합니다. 2. Aurora MySQL용 JDBC 드라이버를 다운로드합니다. Amazon Aurora MySQL에는 MySQL 드라이버가 사용됩니다. 3. AWS SCT 및 필수 JDBC 드라이버를 설치합니다. a. AWS Schema Conversion Tool 사용 설명서에서 AWS Schema Conversion Tool 설치 및 업데이 트를 참조하고 해당 링크를 선택하여 AWS SCT를 다운로드합니다. b. AWS SCT를 시작하고 [Settings], [Global Settings]를 선택합니다. c. [Global Settings]에서 [Drivers]를 선택한 후 [Browse]를 선택하여 [Microsoft Sql Server Driver Path] 를 찾습니다. SQL Server용 JDBC 드라이버를 찾아서 [OK]를 선택합니다. d. [Browse]를 선택하여 [MySql Driver Path]를 찾습니다. Aurora MySQL에 다운로드한 JDBC 드라이 버를 찾아서 [OK]를 선택합니다. e. [OK]를 선택하여 [Global Settings] 대화 상자를 닫습니다. 2단계: Microsoft SQL Server 원본 데이터베이스 구성 SQL 드라이버 및 AWS Schema Conversion Tool를 설치한 후 원하는 데이터 마이그레이션 방식에 따라 여 러 옵션 중 하나를 사용하여 Microsoft SQL Server 원본 데이터를 구성할 수 있습니다. SQL Server 원본 데이터베이스를 구성하려면 원본 데이터베이스를 구성할 때는 기존 데이터만을 마이그레이션하거나, 기존 데이터를 마이그레이션 하고 지속적인 변경 내용을 복제하거나, 기존 데이터를 마이그레이션하고 변경 데이터 캡처(CDC)를 사 용하도록 선택하여 지속적인 변경 내용을 복제할 수 있습니다. 이러한 옵션에 대한 자세한 내용은 사전 요구 사항을 참조하십시오. 기존 데이터만 마이그레이션 67

72 2단계: Microsoft SQL Server 원본 데이터베이스 구성 SQL Server 데이터베이스에는 구성 단계가 필요하지 않습니다. 3단계: Aurora MySQL 대상 데이터베 이스 구성 (p. 69) 섹션으로 이동할 수 있습니다. Note SQL Server 데이터베이스가 Amazon RDS 데이터베이스인 경우 복제가 지원되지 않으므로 기존 데이터만 마이그레이션하는 옵션을 사용해야 합니다. 기존 데이터 마이그레이션과 지속적인 변경 복제 Note 복제하려면 복제할 모든 테이블에 대해 기본 키가 필요합니다. 테이블에 기본 키가 정의되지 않은 경우 CDC 사용을 고려해 보십시오. MS-REPLICATION을 구성하려면 다음 단계를 완료합니다. 1. Microsoft SQL Server Management Studio에서 [Replication] 폴더의 컨텍스트(마우스 오른쪽 버 튼을 클릭) 메뉴를 열고 나서 [Configure Distribution]을 선택합니다. 2. [Distributor] 단계에서 [db_name will act as its own distributor]를 선택합니다. SQL Server는 배포 데이터베이스와 로그를 생성합니다. 자세한 내용은 Microsoft 설명서를 참조하십시오. 구성이 완료되면 복제에 대해 서버가 활성화됩니다. 배포 데이터베이스가 제 위치에 있거나, 원격 배포 데이터베이스를 사용하도록 서버를 구성했습니다. 기존 데이터를 마이그레이션하고 변경 데이터 캡처(CDC)를 사용하여 지속적인 변경 내용 복제 MS-CDC를 구성하려면 다음 단계를 완료합니다. 1. SYSADMIN 역할 멤버십이 지정된 로그인을 사용하여 SLQ Server에 연결합니다. 2. 마이그레이션되는 데이터를 포함하는 각 데이터베이스마다 데이터베이스 컨텍스트 내에서 다음 명령을 실행합니다. use [DBname] EXEC sys.sp_cdc_enable_db 3. 진행 중인 마이그레이션용으로 구성할 각 테이블마다 다음 명령을 실행합니다. EXEC = = = NULL; 자세한 내용은 Microsoft 설명서를 참조하십시오. Note AlwaysOn 가용성 그룹에 포함되는 데이터베이스를 마이그레이션하려는 경우 마이그레이션용으 로 복제를 사용하는 것이 좋습니다. 이 옵션을 사용하려면 게시를 활성화하고 AlwaysOn 가용성 그룹의 각 노드마다 배포 데이터베이스를 구성해야 합니다. 추가로, 가용성 그룹 데이터베이스를 현재 호스팅 중인 서버 이름이 아닌 데이터베이스의 가용성 그룹 리스너 이름을 대상 서버 이름으 로 사용하고 있는지 확인합니다. 이러한 요구 사항은 클러스터의 각 SQL Server 인스턴스에 적용 되며 가용성 그룹 리스너를 사용하여 구성하면 안 됩니다. 데이터베이스가 MS-REPLICATION 또는 MS-CDC에 지원되지 않는 경우(예를 들면 SQL Server 의 Workgroup 버전을 실행 중인 경우), INSERT 및 DELETE 문 같은 일부 변경 내용을 여전히 캡 68

73 3단계: Aurora MySQL 대상 데이터베이스 구성 처할 수 있지만, UPDATE 및 TRUNCATE TABLE 같은 다른 DML 문은 캡처되지 않습니다. 그러므 로 연속 데이터 복제를 이용한 마이그레이션은 이 구성에서는 권장되지 않으며, 대신에 고정 일회 성 마이그레이션(또는 반복 일회성 전체 마이그레이션)을 고려해야 합니다. MS-REPLICATION 및 MS-CDC 사용에 대한 자세한 내용은 Configuring a Microsoft SQL Server Database as a Replication Source for 섹션을 참조하십시오. 3단계: Aurora MySQL 대상 데이터베이스 구성 AWS DMS는 SQL Server 원본에서 Amazon Aurora MySQL 대상으로 데이터를 마이그레이션합니다. 이 단 계에서는 Aurora MySQL 대상 데이터베이스를 구성합니다. 1. 대상 데이터베이스에 연결할 AWS DMS 사용자를 생성하고, 수퍼유저 또는 필요한 개인 권한을 부여하 거나 RDS의 마스터 사용자 이름(Amazon RDS의 경우)을 사용합니다. 또는 권한을 기존 사용자에게 부여할 수 있습니다. CREATE USER 'aurora_dms_user' IDENTIFIED BY 'password'; GRANT ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE, SELECT ON target_database.* TO 'aurora_dms_user'; 2. AWS DMS에서는 awsdms_control 데이터베이스의 대상에 제어 테이블을 사용합니다. 다음 명령을 사용하여 사용자에게 awsdms_control 데이터베이스에 필요한 액세스 권한이 있는지 확인합니다. GRANT ALL PRIVILEGES ON awsdms_control.* TO 'aurora_dms_user'; FLUSH PRIVILEGES; 4단계: AWS SCT를 사용하여 SQL Server 스키마를 Aurora MySQL로 변환합니다. 데이터를 Amazon Aurora MySQL로 변환하려면 먼저 AWS Schema Conversion Tool(AWS SCT)을 사용하 여 Microsoft SQL Server 스키마를 Aurora MySQL 스키마로 변환합니다. SQL Server 스키마를 Aurora MySQL 스키마로 변환하려면 1. AWS SCT에서 [File], [New Project]를 선택합니다. AWS Schema Conversion Tool SQL Server to Aurora MySQL 이름의 새 프로젝트를 생성합니다. 2. [New Project] 대화 상자에서 다음 정보를 입력한 다음 [OK]를 선택합니다. 파라미터 설명 [프로젝트 이름] AWS Schema Conversion Tool SQL Server to Aurora MySQL을 입력합니다. [Location] 기본 [Projects] 폴더와 기본 [Transactional Database (OLTP)] 옵션을 사용합니다. 69

74 4단계: AWS SCT를 사용하여 SQL Server 스키마를 Aurora MySQL로 변환합니다. 3. 파라미터 설명 [Source Database Engine] [Microsoft SQL Server]를 선택합니다. [Target Database Engine] [Amazon Aurora(MySQL compatible)]를 선택합니다. [Connect to Microsoft SQL Server]를 선택합니다. [Connect to Microsoft SQL Server] 대화 상자에서 다 음 정보를 입력한 후 [Test Connection]을 선택합니다. 파라미터 설명 [Server name] 서버 이름을 입력합니다. [Server port] SQL Server 포트 번호를 입력합니다. 기본값은 1433입니 다. Instance name SQL Server 데이터베이스 인스턴스 이름을 입력합니다. 사용자 이름 SQL Server 관리자의 사용자 이름을 입력합니다. [Password] 관리 사용자 암호를 입력합니다. 70

75 4단계: AWS SCT를 사용하여 SQL Server 스키마를 Aurora MySQL로 변환합니다. 4. [OK]를 선택하여 경고 상자를 닫습니다. 그런 다음 [OK]를 선택하여 대화 상자를 닫고 SQL Server DB 인스턴스와의 연결을 시작합니다. SQL Server DB 인스턴스의 데이터베이스 구조가 표시됩니다. 5. [Connect to Amazon Aurora(MySQL 호환)]를 선택합니다. [Connect to Amazon Aurora(MySQL 호환)] 대화 상자에서 다음 정보를 입력한 후 [Test Connection]을 선택합니다. 파라미터 설명 [Server name] 서버 이름을 입력합니다. [Server port] SQL Server 포트 번호를 입력합니다. 기본값은 3306입니 다. 사용자 이름 Aurora MySQL 관리자의 사용자 이름을 입력합니다. [Password] 관리 사용자 암호를 입력합니다. 71

76 4단계: AWS SCT를 사용하여 SQL Server 스키마를 Aurora MySQL로 변환합니다. 6. [OK]를 선택하여 경고 상자를 닫습니다. 그런 다음 [OK]를 선택하여 대화 상자를 닫고 Aurora MySQL DB 인스턴스와의 연결을 시작합니다. 7. 마이그레이션할 스키마에 대한 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 열고 나서 [Convert schema] 를 선택합니다. 72

77 4단계: AWS SCT를 사용하여 SQL Server 스키마를 Aurora MySQL로 변환합니다. 8. 확인 메시지에서 [Yes]를 선택합니다. 그런 다음 AWS SCT는 스키마를 대상 데이터베이스 형식으로 변 환합니다. 73

78 4단계: AWS SCT를 사용하여 SQL Server 스키마를 Aurora MySQL로 변환합니다. AWS SCT는 스키마를 분석하고 Aurora MySQL로의 변환을 위한 데이터베이스 마이그레이션 평가 보 고서를 생성합니다. 9. [View]에서 [Assessment Report View]를 선택하여 보고서를 확인합니다. 보고서는 변환이 성공적으로 수행되는 데 필요한 수동 변경의 양과 각 객체 유형별로 구분됩니다. 74

79 4단계: AWS SCT를 사용하여 SQL Server 스키마를 Aurora MySQL로 변환합니다. 일반적으로 패키지, 절차 및 기능은 매우 세부적으로 사용자 지정된 PL/SQL 코드를 포함하므로 해결할 문제가 있을 가능성이 높습니다. 또한 AWS SCT는 이러한 객체를 수정하는 방법에 대한 힌트를 제공합 니다. 10. [Action Items] 탭을 선택합니다. [Action Items] 탭에는 주의를 요하는 각 객체에 대한 각 문제가 표시됩니다. 각 변환 문제마다 다음 작업 중 하나를 완료할 수 있습니다. AWS SCT에서는 객체를 대상 Aurora MySQL 데이터베이스로 변환할 수 있도록 원본 SQL Server 데이터베이스에서 객체를 수정합니다. 1. 원본 SQL Server 데이터베이스에서 객체를 수정합니다. 2. 이전 단계를 반복하여 스키마를 변환하고 평가 보고서를 확인합니다. 3. 필요할 경우 변환 문제가 없을 때까지 이 프로세스를 반복합니다. 75

80 4. 4단계: AWS SCT를 사용하여 SQL Server 스키마를 Aurora MySQL로 변환합니다. [Main View]를 [View]에서 선택합니다. 대상 Aurora MySQL 스키마에 대한 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 열고 [Apply to database]를 선택하여 스키마 변경 내용을 Aurora MySQL 데이터베이스에 적용한 후, 스키마 변경 내용을 적용하고자 함을 확인합니다. 대상 Aurora MySQL 데이터베이스에서 스크립트를 적용하기 전에 원본 스키마를 수정하는 대신에 AWS SCT에 의해 생성된 스크립트를 수정합니다. 1. [Main View]를 [View]에서 선택합니다. 대상 Aurora MySQL 스키마 이름에 대한 컨텍스트(마우 스 오른쪽 버튼 클릭)를 열고 [Save as SQL]을 선택합니다. 다음에는 스크립트의 이름과 대상 을 선택합니다. 2. 스크립트에서 객체를 수정하여 변환 문제를 해결합니다. 또한 마이그레이션 시 문제를 유발할 수 있으므로 스크립트에서 외래 키 제약 조건, 트리거 및 보조 인덱스를 제외할 수도 있습니다. 마이그레이션이 완료된 후에는 Aurora MySQL 데이터베 이스에서 이러한 객체를 생성할 수 있습니다. 3. 대상 Aurora MySQL 데이터베이스에서 스크립트를 실행합니다. 자세한 내용은 AWS Schema Conversion Tool 사용 설명서의 Converting Database Schema to Amazon RDS by Using the AWS Schema Conversion Tool 단원을 참조하십시오. 11. (선택 사항) AWS SCT를 사용하여 매핑 규칙을 생성합니다. a. [Settings]에서 [Mapping Rules]를 선택합니다. 76

81 5단계: AWS DMS 복제 인스턴스 생성 b. 작업 항목에 따라 요구되는 추가 매핑 규칙을 생성합니다. c. 매핑 규칙을 저장합니다. d. [Export script for DMS]를 선택하여 AWS DMS 작업에서 사용할 모든 변환의 JSON 형식을 내보냅 니다. Save를 선택합니다. 5단계: AWS DMS 복제 인스턴스 생성 원본과 대상 데이터베이스 간의 스키마 구조를 검증한 후 이 연습의 핵심 부분인 데이터 마이그레이션을 계 속 진행합니다. 다음 그림은 마이그레이션 프로세스의 상위 수준 보기를 보여줍니다. AWS DMS 복제 인스턴스는 원본과 대상 간에 실제 데이터 마이그레이션을 수행합니다. 복제 인스턴스도 마 이그레이션 중에 트랜잭션 로그를 캐시합니다. 복제 인스턴스에 보유한 CPU 및 메모리 용량은 마이그레이 션에 소요되는 전체 시간에 영향을 미칩니다. AWS DMS 사용 관련 모범 사례에 대한 자세한 내용은 모범 사례를 참조 하십시오. AWS DMS 복제 인스턴스를 생성하려면 1. AWS Management 콘솔에 로그인하고 AWS DMS 콘솔을 엽니다. 2. 이 콘솔에서 [Create migration]을 선택합니다. AWS Identity and Access Management(IAM) 사용자로 로그인한 경우 AWS DMS에 액세스할 수 있는 적절한 권한이 있어야 합니다. 필요한 권한에 대한 자세 한 내용은 AWS DMS를 사용하는 데 필요한 IAM 권한을 참조하십시오. 3. Welcome 페이지에서 [Next]를 선택하여 데이터베이스 마이그레이션을 시작합니다. 4. [Create replication instance] 페이지에서 복제 인스턴스 정보를 지정합니다. 파라미터 설명 이름 복제 인스턴스의 이름을 선택합니다. 여러 복제 서버를 사용 중이거나 계정을 공유하고 있는 경우 다양한 서버 간에 빨리 구분할 수 있는 이름을 선택합니다. 설명 간단한 설명을 입력합니다. 인스턴스 클래스 생성할 복제 서버의 유형을 선택합니다. 인스턴스 클래스의 각 크기 및 유형이 CPU, 메모리 및 I/O 용량을 증가시킵니 다. 일반적으로 t2 인스턴스는 저로드 작업용이며, c4 인스 턴스는 고로드 및 기타 작업용입니다. [VPC] 복제 인스턴스를 시작할 가상 프라이빗 클라우드(VPC)를 선택합니다. 가능한 경우 원본이나 대상 데이터베이스(또는 이 모두)가 상주하는 동일한 VPC를 선택합니다. 77

82 6단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. 5. 파라미터 설명 다중 AZ [Yes]를 선택하는 경우 AWS DMS에서는 기본 복제 서버 관 련 문제가 있는 경우 장애 조치용으로 사용할 두 번째 복제 서버를 다른 가용 영역에 생성합니다. [Publicly accessible] 복제 서버가 상주하는 VPC 외부에 원본이나 대상 데이터베 이스가 상주하는 경우 복제 서버 정책을 공개적으로 액세스 할 수 있도록 설정해야 합니다. [Advanced] 섹션에서는 다음 정보를 지정합니다. 파라미터 설명 [Allocated storage (GB)] 과거 작업 로그를 포함하여 AWS DMS 작업 로그에 대한 복 제 서버의 스토리지 양. 또한 AWS DMS는 디스크 스토리지 를 사용하여 특정 데이터를 캐시하는 동시에, 원본 데이터베 이스에서 대상 데이터베이스로 복제합니다. 또한, 스토리지 가 많을수록 일반적으로 서버에서 IOPS가 향상됩니다. [Replication Subnet Group] 다중-AZ 구성에서 실행 중인 경우 두 개 이상의 서브넷 그룹 이 필요합니다. [Availability zone] 일반적으로 대상 데이터베이스와 동일한 가용 영역에 기본 할당 서버가 있으면 성능이 향상됩니다. VPC Security Group(s) 보안 그룹을 사용하면 VPC에 대한 수신 및 송신을 제어할 수 있습니다. AWS DMS에서는 복제 서버가 시작되는 VPC 와 하나 이상의 보안 그룹을 연결할 수 있습니다. [KMS master key] AWS DMS를 통해 모든 데이터는 KMS 암호화 키를 사용하 여 유휴 상태로 암호화됩니다. 기본적으로 AWS DMS는 사 용자의 복제 서버에서 새 암호화 키를 생성합니다. 하지만 기존 키를 사용하도록 선택할 수도 있습니다. KMS 마스터 키에 대한 자세한 내용은 암호화 키 설정 및 KMS 권한 지정을 참조하십시오. 6. [Next]를 클릭합니다. 6단계: AWS DMS 원본과 대상 엔드포인트를 생성합니 다. 복제 인스턴스를 생성 중인 동안 AWS Management 콘솔을 사용하여 원본 및 대상 데이터베이스 엔드포인 트를 지정할 수 있습니다. 하지만 복제 인스턴스가 연결에 사용되므로 복제 인스턴스가 생성된 후에만 연결 을 테스트할 수 있습니다. 콘솔을 사용하여 원본 또는 대상 데이터베이스 엔드포인트를 지정하려면 1. AWS DMS 콘솔에서 원본 SQL Server 데이터베이스와 대상 Aurora MySQL 데이터베이스의 연결 정보 를 지정합니다. 다음 표는 원본 설정에 대한 설명입니다. 파라미터 설명 [Endpoint Identifier] SQLServerSource 같은 이름을 입력합니다. 78

83 6단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. 파라미터 설명 소스 엔진 [sqlserver]를 선택합니다. [Server name] SQL Server DB 인스턴스 서버 이름을 지정합니다. Port 데이터베이스의 포트 번호를 입력합니다. SQL Server의 기 본값은 1433입니다. [SSL mode] 연결 트래픽에 대해 암호화를 활성화해야 하는 경우 SSL 모 드를 선택합니다. 사용자 이름 원본 데이터베이스에 연결하는 데 사용할 사용자의 이름을 입력합니다. [Password] 사용자 암호를 입력합니다. 데이터베이스 이름 SQL Server 데이터베이스 이름을 지정합니다. 다음 표에서는 고급 원본 설정을 설명합니다. 파라미터 설명 [Extra connection attributes] AWS DMS의 동작을 변경하거나 기능을 추가하기 위해 엔 드포인트에서 설정할 수 있는 추가 파라미터. 여기에 나열된 속성은 가장 관련도가 높은 일부 속성입니다. 세미콜론(;)을 사용하여 여러 항목을 구분합니다. safeguardpolicy - AWS DMS에서 로그를 읽는 동안 트랜잭션 로그가 잘리지 않도록 트랜잭션을 열 어서 SQL Server의 작동을 변경합니다. 유효한 값 은 EXCLUSIVE_AUTOMATIC_TRUNCATION 또는 RELY_ON_SQL_SERVER_REPLICATION_AGENT(기본값) 입니다. usebcpfullload - AWS DMS에 데이터 로드 시 BCP(대량 복사)를 사용하도록 지정합니다. 유효한 값은 Y 또는 N입니다. 원본 테이블에 없는 자격 증명 열이 대상 테이블에 들어 있는 경우 파라미터를 N으로 설정하여 테 이블 로드 시 BCP 사용을 비활성화해야 합니다. BCPPacketSize - BCP가 데이터 로드용으로 활성화된 경우 BCP에 사용되는 최대 패킷 크기를 입력합니다. 유효 한 값은 (기본값 16384)입니다. controltablesfilegroup - 데이터베이스에서 AWS DMS 프로세스가 생성하는 제어 테이블에 사용할 파일 그 룹을 지정합니다. [KMS master key] 복제 인스턴스의 스토리지를 암호화하기로 한 경우 KMS 마 스터 키를 입력합니다. 다음 표는 대상 설정에 대한 설명입니다. 파라미터 설명 [Endpoint Identifier] Auroratarget 같은 이름을 입력합니다. 79

84 6단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. 파라미터 설명 [Target Engine] [aurora]를 선택합니다. [Server name] 기본 인스턴스에 대해 Aurora MySQL DB 서버 이름을 지정 합니다. Port 데이터베이스의 포트 번호를 입력합니다. Aurora MySQL의 기본값은 3306입니다. [SSL mode] [None]을 선택합니다. 사용자 이름 대상 데이터베이스에 연결하는 데 사용할 사용자의 이름을 입력합니다. [Password] 사용자 암호를 입력합니다. 다음 표에서 고급 대상 설정을 설명합니다. 파라미터 설명 [Extra connection attributes] AWS DMS의 동작을 변경하거나 기능을 추가하기 위해 엔 드포인트에서 설정할 수 있는 추가 파라미터. 여기에 나열된 속성은 가장 관련도가 높은 일부 속성입니다. 세미콜론을 사 용하여 여러 항목을 구분합니다. targetdbtype - 기본적으로 AWS DMS는 마이그레이 션되는 각 스키마마다 다른 데이터베이스를 생성합니다. 여러 스키마를 단일 데이터베이스로 결합하려면 이 옵션 을 targetdbtype=specific_database로 설정합니 다. initstmt - 이 옵션을 사용하여 MySQL initstmt 연결 파라미터를 호출하고 MySQL initstmt에서 허용하는 것을 허용할 수 있습니다. Aurora MySQL 대상의 경우, 이 옵션을 initstmt=set FOREIGN_KEY_CHECKS=0으로 설정하여 외래 키 검사를 비활성화하는 것이 매우 유용합 니다. [KMS master key] 복제 인스턴스의 스토리지를 암호화하기로 한 경우 KMS 마 스터 키를 입력합니다. 다음은 완료한 페이지의 예입니다. 80

85 6단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. 추가 연결 속성에 대한 자세한 내용은 Using Extra Connection Attributes with AWS Database Migration Service를 참조하십시오. 2. 엔드포인트와 복제 인스턴스가 생성된 후, 원본 및 대상 엔드포인트에 대해 [Run test]를 선택하여 엔드 포인트 연결을 테스트합니다. 3. 대상 데이터베이스에서 외래 키 제약 조건 및 트리거를 삭제합니다. 전체 로드 프로세스를 수행하는 동안 AWS DMS는 특정 순서로 테이블을 로드하지 않으므로 상위 테이 블 데이터 전에 하위 테이블 데이터를 로드할 수도 있습니다. 따라서 외래 키 제약 조건이 활성화되는 경 우 이러한 제약 조건을 위반하게 될 수도 있습니다. 또한 트리거가 대상 데이터베이스에 있는 경우 이러 한 트리거가 AWS DMS에 의해 로드되는 데이터를 예기치 않은 방식으로 변경할 수도 있습니다. ALTER TABLE 'table_name' DROP FOREIGN KEY 'fk_name'; DROP TRIGGER 'trigger_name'; 4. 대상 데이터베이스에서 외래 키 제약 조건과 트리거를 삭제한 경우 외래 키 제약 조건과 트리거를 활성 화하는 스크립트를 생성합니다. 나중에 마이그레이션된 데이터베이스에 추가하려는 경우에는 이 스크립트만 실행하면 됩니다. 5. (선택 사항) 대상 데이터베이스에 보조 인덱스를 삭제합니다. 81

86 7단계: AWS DMS 마이그레이션 작업 생성 및 실행 보조 인덱스(모든 인덱스와 마찬가지로)로 인해 데이터를 테이블로 전체 로드하는 속도가 느려질 수 있 습니다. 로딩 프로세스를 수행하는 동안 보조 인덱스를 유지 및 업데이트해야 하기 때문입니다. 이러한 인덱스를 삭제하면 전체 로드 프로세스의 성능이 향상될 수 있습니다. 인덱스를 삭제하는 경우 전체 로 드가 완료된 후 나중에 인덱스를 다시 추가해야 합니다. ALTER TABLE 'table_name' DROP INDEX 6. 'index_name'; [Next]를 선택합니다. 7단계: AWS DMS 마이그레이션 작업 생성 및 실행 AWS DMS 작업을 사용하여 마이그레이션할 스키마와 마이그레이션 유형을 지정할 수 있습니다. 기존 데이 터를 마이그레이션하거나, 지속적 변경 사항을 복제하거나, 또는 데이터 변경 사항만 복제할 수 있습니다. 마이그레이션 작업을 생성하려면 1. AWS DMS 콘솔의 [Create task] 페이지에서 작업 옵션을 지정합니다. 다음 표는 설정에 대한 설명입니 다. 파라미터 설명 [Task name] 마이그레이션 작업의 이름을 입력합니다. [Task description] 작업 설명을 입력합니다. [Source endpoint] SQL Server 소스 엔드포인트를 표시합니다. 계정에 두 개 이상의 엔드포인트가 있는 경우 목록에서 올바 른 엔드포인트를 선택합니다. [Target endpoint] Aurora MySQL 대상 엔드포인트를 표시합니다. 복제 인스턴스 AWS DMS 복제 인스턴스를 표시합니다. [Migration type] 옵션을 선택합니다. Migrate existing data - AWS DMS 기존 데이터만 마이그 레이션합니다. 원본 데이터에 대한 변경 사항이 대상에 캡 처 및 적용되지 않습니다. 전체 로드 기간 동안 중단을 감 수할 수 있는 경우 이 옵션이 가장 간단한 마이그레이션 옵션입니다. 또한 이 옵션을 사용하여 데이터베이스의 테 스트 사본을 생성할 수도 있습니다. 원본 SQL Server 데 이터베이스가 Amazon RDS 데이터베이스인 경우 이 옵 션을 선택해야 합니다. Migrate existing data and replicate ongoing changes AWS DMS는 기존 데이터를 마이그레이션하는 동안 변경 내용을 캡처합니다. AWS DMS에서는 대량 데이터를 로 드한 후에도 계속해서 변경 사항을 캡처하고 적용합니다. 결국 원본과 대상 데이터베이스는 동기화되어 중단 시간 을 최소화할 수 있습니다. Replicate data changes only - 다른 방법을 사용하여 데이 터를 대량 로드합니다. 이 접근 방식은 동종 마이그레이션 에만 적용됩니다. 82

87 7단계: AWS DMS 마이그레이션 작업 생성 및 실행 파라미터 설명 [Start task on create] 대부분의 상황에서 이 옵션을 선택해야 합니다. 때로는 작업 시작을 지연시켜야 할 수도 있습니다. 예를 들면 로깅 수준 을 변경하려는 경우가 이에 해당합니다. 페이지는 다음과 비슷하게 보일 것입니다. 2. [Task settings]에서 설정을 지정합니다. 다음 표는 설정에 대한 설명입니다. 파라미터 설명 [Target table preparation mode] 옵션을 선택합니다. Do nothing - AWS DMS는 테이블을 준비하기 위해 아무 런 작업도 수행하지 않습니다. 테이블 구조는 동일하게 유 지되고 기존 데이터는 테이블에 남습니다. 이 메서드를 사 용하여 여러 시스템의 데이터를 통합할 수 있습니다. Drop tables on target - AWS DMS에서 대상 테이블이 자동으로 생성됩니다. AWS DMS는 테이블을 삭제했다 가 마이그레이션 전에 테이블을 다시 생성합니다. AWS DMS는 동종 마이그레이션에 대해서만 테이블과 기본 키 를 만듭니다. Truncate - AWS DMS는 대상 테이블을 로드하기 전에 자 릅니다. 대상 테이블이 존재하지 않으면 AWS DMS에서 대상 테이블을 생성합니다. Important If the AWS Schema Conversion Tool이 대상에 테이블을 이미 생성한 경우 [Do nothing] 또는 [Truncate]를 선택합니다. [Include LOB columns in replication] 옵션을 선택합니다. 83

88 7단계: AWS DMS 마이그레이션 작업 생성 및 실행 파라미터 설명 Don't include LOB columns - LOB 데이터를 마이그레이 션하지 않습니다. [Full LOB mode] - AWS DMS는 크기와 관계 없이 원본에 서 대상으로 모든 LOB(대형 객체)를 마이그레이션합니 다. 이 구성에서 AWS DMS에는 예상할 수 있는 최대 크 기의 LOB 정보가 없습니다. 또한, LOB는 한 번에 하나씩, 조각별로 마이그레이션됩니다. 전체 LOB 모드는 상당히 느릴 수 있습니다. Limited LOB mode - AWS DMS에서 허용하는 최대 크기 LOB를 설정할 수 있습니다. 이 옵션을 통해 AWS DMS는 메모리를 미리 할당하고 LOB 데이터를 대량으로 로드할 수 있습니다. 최대 LOB 크기를 초과하는 LOB는 잘리고 경고가 로그 파일에 발행됩니다. [ limited LOB mode]는 [full LOB mode]에 비해 상당한 성능 이점이 있습니다. 가 능하다면 [limited LOB mode] 사용을 권장합니다. [Max LOB size (kb)] [Limited LOB mode]를 선택하는 경우 이 옵션은 AWS DMS 에서 수용하는 최대 크기의 LOB를 결정합니다. 이 값보다 큰 LOB는 이 값으로 잘립니다. [Enable logging] [Enable logging]을 선택하는 것이 좋습니다. 로깅을 활성화 할 경우 작업에서 발생하는 오류나 경고를 확인하고 이러한 문제를 해결할 수 있습니다. 3. [Advanced] 설정을 기본값으로 둡니다. 4. 4단계: AWS SCT를 사용하여 SQL Server 스키마를 Aurora MySQL로 변환합니다. (p. 69) 섹션의 마 지막 단계에서 AWS SCT를 사용하여 매핑 규칙을 생성 및 내보낸 경우 [Table mappings]를 선택한 다음 [JSON] 탭을 선택합니다. 그런 다음 [Enable JSON editing]을 선택하고 저장한 테이블 매핑을 입력합니 다. 매핑 규칙을 생성하지 않은 경우 다음 단계로 이동합니다. 5. [Create task]를 선택합니다. 작업이 즉시 시작됩니다. [Tasks] 섹션에는 마이그레이션 작업 상태가 나타납니다. 설정하는 동안 [Enable logging]을 선택했으면 작업을 모니터링할 수 있습니다. 그러고 나면 Amazon CloudWatch 측정치를 볼 수 있습니다. 진행 중인 데이터 마이그레이션 작업을 모니터링하려면 탐색 창에서 [Tasks]를 선택합니다. 마이그레이션 작업을 선택합니다. [Task monitoring] 탭을 선택하고 이 탭에서 진행 중인 작업을 모니터링합니다. 전체 로드가 완료되고 캐시된 변경 사항이 적용되면 작업 자체가 중지됩니다. 4. 대상 Aurora MySQL 데이터베이스에서 외래 키 제약 조건과 트리거를 비활성화한 경우 이전에 저장한 스크립트를 사용하여 활성화합니다. 84

89 8단계: Aurora MySQL로 전환 5. 대상 Aurora MySQL 데이터베이스에서 이전에 제거한 경우 보조 인덱스를 다시 생성합니다. 6. AWS DMS를 사용하여 변경 내용을 복제하도록 선택한 경우 AWS DMS 콘솔에서 작업에 대해 [Start/ Resume]을 선택하여 AWS DMS 작업을 시작합니다. 모니터링할 중요 복제 인스턴스 측정치는 다음과 같습니다. CPU FreeableMemory DiskQueueDepth CDCLatencySource CDCLatencyTarget AWS DMS 작업은 원본 데이터 변경 내용으로 대상 Aurora MySQL 데이터베이스를 항상 최신 상태로 유지합니다. AWS DMS는 애플리케이션 마이그레이션을 구현할 시기가 도래할 때까지 작업의 모든 테 이블을 최신 상태로 유지합니다. 대상이 원본과 거의 비슷해지면 지연 시간이 0이거나 0에 가깝습니다. 자세한 내용은 작업 모니터링을 참조하십시오. 8단계: Aurora MySQL로 전환 다음 단계를 수행하여 Microsoft SQL Server 데이터베이스에서 Amazon Aurora MySQL 데이터베이스로 연 결을 전환합니다. Aurora MySQL로 전환하려면 1. 스크립트 실행 및 클라이언트 연결 같은 모든 SQL Server 데이터베이스 종속성 및 작업을 종료합니다. SQL Server 에이전트 서비스가 중지되었는지 확인합니다. 다음 쿼리 시 연결 이와의 결과가 반환되지 않아야 합니다. SELECT session_id, login_name from sys.dm_exec_sessions where session_id > 50; 2. 나머지 세션(소유 세션 이외)을 종료합니다. KILL session_id; 3. SQL Server 서비스를 종료합니다. 4. AWS DMS에서 Amazon Aurora MySQL 데이터베이스에 SQL Server 데이터베이스의 최종 변경 내용이 적용되게 합니다. 5. AWS DMS 콘솔에서 작업에 대해 [Stop]을 선택하고 다음 작업을 중지하려 함을 확인함으로써 AWS DMS 작업을 중지합니다. 문제 해결 Microsoft SQL Server를 원본 데이터베이스로, Amazon Aurora MySQL을 대상 데이터베이스로 사용하여 작 업하는 경우 가장 일반적으로 문제가 발생하는 영역은 SQL Server 변경 데이터 캡처(CDC) 및 외래 키입니 다. 85

90 문제 해결 MS-CDC: 마이그레이션 시 SQL Server와 함께 MS-CDC를 사용하려는 경우 변경 데이터 캡처 중 오류 또 는 권한 관련 오류가 일반적으로 발생합니다. 사전 요구 사항 중 하나가 충족되지 않은 경우 일반적으로 이 러한 오류 유형이 발생합니다. 예를 들어, 자주 간과되는 사전 요구 사항은 전체 데이터베이스 백업입니다. 외래 키: 전체 로드 프로세스를 수행하는 동안 AWS DMS에서 테이블을 특정 순서대로 로드하지 않으므로 상위 테이블 데이터 이전에 하위 테이블 데이터가 로드될 수도 있습니다. 따라서 외래 키 제약 조건이 활성 화되는 경우 이러한 제약 조건을 위반하게 될 수도 있습니다. Aurora MySQL 대상 데이터베이스에서 외래 키를 비활성화해야 합니다. 마이그레이션이 완료된 후 대상에서 외래 키를 활성화할 수 있습니다. 추가 팁을 보려면 AWS DMS 사용 설명서의 AWS DMS 문제 해결 섹션을 참조하십시오. SQL Server 관련 문제를 보려면 SQL Server 문제 해결 섹션을 참조하십시오. Microsoft SQL Server별 문제 해결 Aurora MySQL 문제를 해결하려면 Aurora MySQL 문제 해결 섹션과 MySQL 문제 해결 섹션을 참조하십시 오. Amazon Aurora MySQL 관련 문제 해결 MySQL별 문제 해결 86

91 사전 조건 Oracle 데이터베이스를 PostgreSQL 로 마이그레이션 이 연습을 통해 (AWS DMS) 및 AWS Schema Conversion Tool(AWS SCT)을 사용하여 Oracle 데이터베이스를 PostgreSQL 데이터베이스로 마이그레이션하는 방법을 배울 수 있 습니다. AWS DMS는 데이터를 Oracle 원본에서 &PostgreSQL 대상으로 마이그레이션합니다. 또한 AWS DMS는 원 본 데이터베이스에 나타나는 지원 데이터 정의 언어(DDL) 변경 내용을 캡처하고 대상 데이터베이스에 이러 한 변경 내용을 적용합니다. AWS DMS는 이러한 방식을 통해 원본과 대상 데이터베이스를 서로 동기적으로 유지합니다. 데이터 마이그레이션을 지원하기 위해 AWS SCT는 필요할 경우 대상의 테이블과 기본 키 인덱 스를 비롯하여 대상 데이터베이스에서 마이그레이션된 스키마를 생성합니다. 그렇지만, AWS DMS는 특히 데이터 마이그레이션과 관련되지 않은 보조 인덱스, 시퀀스, 기본값, 저장된 절 차, 트리거, 동의어, 보기 및 기타 스키마 객체를 마이그레이션하지 않습니다. 이러한 객체를 PostgreSQL 대 상으로 마이그레이션하려면 AWS SCT를 사용합니다. 항목 사전 조건 (p. 87) 단계별 마이그레이션 (p. 88) 마이그레이션 롤백 (p. 109) 문제 해결 (p. 109) 사전 조건 이 연습을 완료하려면 다음 사전 요구 사항이 충족되어야 합니다. Amazon Relational Database Service(Amazon RDS), 해당되는 데이터베이스 기술 및 SQL을 이해합니다. AWS 리전에서 Amazon Relational Database Service(Amazon RDS)와 AWS Database Migration Service(AWS DMS) 인스턴스를 시작할 수 있도록 해주는 AWS Identity and Access Management(IAM) 자 격 증명을 가진 AWS 계정을 생성합니다. IAM 자격 증명에 대한 자세한 내용은 IAM 사용자 생성을 참조하 십시오. Amazon Virtual Private Cloud(Amazon VPC) 서비스 및 보안 그룹에 대해 이해합니다. Amazon RDS에서 Amazon VPC를 사용하는 방법에 대한 정보는 Amazon Virtual Private Cloud(VPC) 및 Amazon RDS 섹션 을 참조하십시오. Amazon RDS 보안 그룹에 대한 자세한 내용은 Amazon RDS 보안 그룹을 참조하십시 오. AWS DMS의 지원 기능 및 제한 사항에 대해 이해합니다. AWS DMS에 대한 자세한 내용은 AWS Database Migration Service란 무엇입니까? 를 참조하십시오. Oracle 및 PostgreSQL에서 지원되는 데이터 형식 변환 옵션에 대해 이해합니다. 원본으로서 Oracle용 데 이터 형식에 대한 정보는 에서 Oracle 데이터베이스를 원본으로 사용 을 참조하십시오. 대상으로서 PostgreSQL용 데이터 형식에 대한 정보는 PostgreSQL 데이터베이스를 AWS Database Migration Service에서 원본으로 사용 을 참조하십시오. 대상 PostgreSQL 데이터베이스 호스트의 규모를 조정합니다. DBA는 현재 원본 Oracle 데이터베이스 호 스트의 로드 프로필을 알고 있어야 합니다. CPU, 메모리 및 IOPS를 고려합니다. RDS를 사용하여 마이그 레이션 후에 대상 데이터베이스 호스트의 규모를 늘리거나 줄일 수 있습니다. PostgreSQL로 처음 마이그 레이션하는 경우에는 성능 문제와 튜닝 기회를 고려하여 추가 용량을 확보하는 것이 좋습니다. 87

92 단계별 마이그레이션 원본 Oracle 데이터베이스를 감사합니다. 각 스키마와 스키마 아래에 있는 모든 객체에 대해 객체가 더 이 상 사용되지 않는지 여부를 알아봅니다. 더 이상 사용되지 않는 경우 마이그레이션할 필요가 없으므로 원 본 Oracle 데이터베이스에서 이러한 객체를 사용 중지합니다. 로드 용량이 허용되면 원본 데이터베이스에서 각 LOB 유형마다 최대 크기(kb)를 가져오고 나중을 위해 이 정보를 보관합니다. 가능하면 BLOB, CLOB, NCLOB, LONG, LONG RAW 및 XMLTYPE이 있는 열을 S3, Dynamo DB 또는 다 른 데이터 스토어로 이동합니다. 이렇게 하면 원본 Oracle 데이터베이스가 간소화되어 보다 쉽게 마이그레 이션할 수 있습니다. 또한 대상 PostgreSQL 데이터베이스에 대한 용량 요구 사항도 축소됩니다. AWS DMS에 대한 자세한 내용은 AWS DMS 설명서를 참조하십시오. 단계별 마이그레이션 다음 단계에서는 Oracle 데이터베이스를 PostgreSQL 데이터베이스로 마이그레이션하기 위한 지침을 제공 합니다. 이러한 단계에서는 사전 조건 (p. 87)에 설명된 대로 원본 데이터베이스를 이미 준비했다고 가정 합니다. 항목 1단계: 로컬 컴퓨터에 SQL 드라이버와 AWS Schema Conversion Tool 설치 (p. 88) 2단계: Oracle 원본 데이터베이스 구성 (p. 89) 3단계: PostgreSQL 대상 데이터베이스 구성 (p. 92) 4단계: AWS Schema Conversion Tool(AWS SCT)을 사용하여 Oracle 스키마를 PostgreSQL로 변환합 니다. (p. 92) 5단계: AWS DMS 복제 인스턴스 생성 (p. 100) 6단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. (p. 101) 7단계: AWS DMS 마이그레이션 작업 생성 및 실행 (p. 105) 8단계: PostgreSQL로 전환 (p. 108) 1단계: 로컬 컴퓨터에 SQL 드라이버와 AWS Schema Conversion Tool 설치 로컬 컴퓨터에 SQL 드라이버와 AWS Schema Conversion Tool(AWS SCT)을 설치합니다. SQL 클라이언트 소프트웨어를 설치하려면 1. Oracle 데이터베이스의 JDBC 드라이버를 다운로드합니다. 예를 들면 Oracle Database JDBC 드라이버(ojdbc7.jar)를 다운로드합니다. 2. PostgreSQL 드라이버(postgresql jar)를 다운로드합니다. 3. AWS SCT 및 필수 JDBC 드라이버를 설치합니다. a. AWS Schema Conversion Tool 사용 설명서의 AWS Schema Conversion Tool 설치 및 업데이트에 서 AWS SCT를 다운로드합니다. b. AWS SCT를 시작합니다. c. AWS SCT의 [Settings]에서 [Global Settings]를 선택합니다. d. [Global Settings]에서 [Driver]를 선택한 후 [Browse]를 선택하여 [Oracle Driver Path]를 찾습니다. JDBC Oracle 드라이버를 찾고 [OK]를 선택합니다. e. [PostgreSQL Driver Path]에서 [Browse]를 선택합니다. Oracle JDBC PostgreSQL 드라이버를 찾고 [OK]를 선택합니다. 88

93 2단계: Oracle 원본 데이터베이스 구성 f. [OK]를 선택하여 대화 상자를 닫습니다. 2단계: Oracle 원본 데이터베이스 구성 (AWS DMS)에서 Oracle을 원본으로 사용하려면, 먼저 LogMiner에 정보를 제공할 수 있도록 ARCHIVELOG MODE가 켜져 있는지 확인해야 합니다. AWS DMS에서는 보관 로그의 정 보를 읽을 수 있도록 LogMiner를 사용하므로 AWS DMS에서 변경 사항을 캡처할 수 있습니다. AWS DMS가 이 정보를 읽을 수 있도록 AWS DMS에서 보관 로그를 필요로 하는 한 이 보관 로그가 데이터 베이스 서버에 보존되어 있는지 확인해야 합니다. 즉시 변경 사항 캡처를 시작하도록 작업을 구성하는 경우, 가장 긴 실행 트랜잭션의 기간보다 약간 더 오랫동안 보관 로그만을 보존해야 합니다. 대개 24시간 동안 보관 로그를 보존하면 충분합니다. 과거의 특정 시점에 시작하도록 작업을 구성하는 경우, 앞으로는 보관 로그를 사용할 수 있어야 합니다. ARCHIVELOG MODE를 활성화하고 사용자의 Oracle 데이터베이스에서 로그 보 존을 보장하는 방법에 대한 자세한 지침은 Oracle 설명서를 참조하십시오. 변경 사항을 캡처할 수 있도록 AWS DMS에서는 보충 로깅을 원본 데이터베이스에서 활성화해야 합니다. 최 소 보충 로깅은 데이터베이스 수준에서 활성화되어야 합니다. 또한 AWS DMS에서는 식별 키 로깅을 활성화 해야 합니다. 이 옵션을 선택하면 기본 키를 포함하는 행이 업데이트될 때마다 행 기본 키의 모든 열이 재실 행 로그 파일에 추가됩니다. 기본 키에 변경된 값이 없더라도 이 결과가 발생합니다. 데이터베이스 또는 테이 블 수준에서 이 옵션을 설정할 수 있습니다. Oracle 원본 데이터베이스를 구성하려면 1. AWS DMS에서 사용하는 데이터베이스 계정을 생성하거나 구성합니다. AWS DMS 연결을 위해 AWS DMS에서 필요한 최소 권한을 가진 별도의 계정을 사용하는 것이 좋습니다. AWS DMS에서는 다음 권한 이 필요합니다. CREATE SESSION SELECT ANY TRANSACTION 89

94 2단계: Oracle 원본 데이터베이스 구성 SELECT on V_$ARCHIVED_LOG SELECT on V_$LOG SELECT on V_$LOGFILE SELECT on V_$DATABASE SELECT on V_$THREAD SELECT on V_$PARAMETER SELECT on V_$NLS_PARAMETERS SELECT on V_$TIMEZONE_NAMES SELECT on V_$TRANSACTION SELECT on ALL_INDEXES SELECT on ALL_OBJECTS SELECT on ALL_TABLES SELECT on ALL_USERS SELECT on ALL_CATALOG SELECT on ALL_CONSTRAINTS SELECT on ALL_CONS_COLUMNS SELECT on ALL_TAB_COLS SELECT on ALL_IND_COLUMNS SELECT on ALL_LOG_GROUPS SELECT on SYS.DBA_REGISTRY SELECT on SYS.OBJ$ SELECT on DBA_TABLESPACES SELECT on ALL_TAB_PARTITIONS SELECT on ALL_ENCRYPTED_COLUMNS * SELECT on all tables migrated 변경 사항(CDC)을 캡처하고 적용하려면 다음 권한도 필요합니다. EXECUTE on DBMS_LOGMNR SELECT on V_$LOGMNR_LOGS SELECT on V_$LOGMNR_CONTENTS LOGMINING /* For Oracle 12c and higher. */ * ALTER for any table being replicated (if you want AWS DMS to add supplemental logging) Oracle 버전 이전에서는 다음 권한이 필요합니다. SELECT on DBA_OBJECTS /* versions before */ SELECT on ALL_VIEWS (required if views are exposed) 2. Oracle 데이터베이스가 AWS RDS 데이터베이스인 경우 관리 사용자로 연결하고 다음 명령을 실행하여 24시간 동안 RDS 원본에 대해 보관 로드가 유지되도록 합니다. exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24); Oracle 원본이 AWS RDS 데이터베이스에 있는 경우, 백업을 활성화한 경우에 한해 데이터베이스가 ARCHIVELOG MODE에 배치됩니다. 3. 다음 명령을 실행하여 데이터베이스 수준에서 보충 로깅을 활성화합니다. 이때 AWS DMS에서는 다음 작업이 필요합니다. Oracle SQL에서: ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; RDS에서: 90

95 2단계: Oracle 원본 데이터베이스 구성 exec rdsadmin.rdsadmin_util.alter_supplemental_logging('add'); 4. 다음 명령을 사용하여 데이터베이스 수준에서 식별 키 보충 로깅을 활성화합니다. AWS DMS에서는 데 이터베이스 수준의 보충 키 로깅이 필요합니다. 단, AWS DMS에서 필요에 따라 보충 로깅을 자동으로 추가하거나 테이블 수준에서 키 수준 보충 로깅을 활성화하도록 허용하는 경우는 제외합니다. Oracle SQL에서: ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS; RDS에서: exec rdsadmin.rdsadmin_util.alter_supplemental_logging('add','primary KEY'); 키 수준 보충 로깅을 활성화하면 원본 데이터베이스는 약간의 오버헤드를 발생시킵니다. 따라서 테 이블 하위 집합만을 마이그레이션할 경우, 테이블 수준에서 키 수준의 보충 로깅을 활성화해야 할 수도 있습니다. 5. 테이블 수준에서 키 수준의 보충 로깅을 활성화하려면 다음 명령을 사용합니다. ALTER TABLE table_name ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS; 테이블에 기본 키가 없는 경우 옵션 2개가 있습니다. 테이블에서 첫 번째 고유 인덱스에 포함된 모든 열에 보충 로깅을 추가할 수 있습니다(인덱스 이름별 로 정렬). 테이블의 모든 열에서 보충 로깅을 추가할 수 있습니다. 테이블에서 열의 하위 집합(예: 고유 인덱스에 포함된 열)에 보충 로깅을 추가하려면, 다음 명령을 실행 합니다. ALTER TABLE table_name ADD SUPPLEMENTAL LOG GROUP example_log_group (column_list) ALWAYS; 모든 테이블 열에서 보충 로깅을 추가하려면, 다음 명령을 실행합니다. ALTER TABLE table_name ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS; 6. AWS SCT용 사용자를 생성합니다. CREATE USER oracle_sct_user IDENTIFIED BY password; GRANT CONNECT TO oracle_sct_user; GRANT SELECT_CATALOG_ROLE TO oracle_sct_user; GRANT SELECT ANY DICTIONARY TO oracle_sct_user; 91

96 3단계: PostgreSQL 대상 데이터베이스 구성 3단계: PostgreSQL 대상 데이터베이스 구성 1. 마이그레이션하려는 스키마가 PostgreSQL 데이터베이스에 없으면 해당 스키마를 생성합니다. 2. 대상 데이터베이스에 연결할 AWS DMS 사용자를 생성하고, 수퍼유저 또는 필요한 개인 권한을 부여하 거나 RDS의 마스터 사용자 이름을 사용합니다. CREATE USER postgresql_dms_user WITH PASSWORD 'password'; ALTER USER postgresql_dms_user WITH SUPERUSER; 3. AWS SCT용 사용자를 생성합니다. CREATE USER postgresql_sct_user WITH PASSWORD 'password'; GRANT GRANT GRANT GRANT CONNECT ON DATABASE database_name TO postgresql_sct_user; USAGE ON SCHEMA schema_name TO postgresql_sct_user; SELECT ON ALL TABLES IN SCHEMA schema_name TO postgresql_sct_user; ALL ON SEQUENCES IN SCHEMA schema_name TO postgresql_sct_user; 4단계: AWS Schema Conversion Tool(AWS SCT)을 사용하여 Oracle 스키마를 PostgreSQL로 변환합니다. 데이터를 PostgreSQL로 마이그레이션하기 전에 먼저 Oracle 스키마를 PostgreSQL 스키마로 변환합니다. AWS SCT를 사용하여 Oracle 스키마를 PostgreSQL 스키마로 변환하려면 1. AWS SCT를 시작합니다. AWS SCT에서 [File]을 선택하고 나서 [New Project]를 선택합니다. AWS Schema Conversion Tool Oracle to PostgreSQL라는 프로젝트를 생성합니다. [New Project] 창에 다음 정보를 입력하고 [OK]를 선택합니다. 파라미터 설명 [프로젝트 이름] AWS Schema Conversion Tool Oracle to PostgreSQL을 입력합니다. [Location] 기본 [Projects] 폴더와 기본 [Transactional Database (OLTP)] 옵션을 사용합니다. [Source Database Engine] Oracle을 선택합니다. [Target Database Engine] [Amazon RDS for PostgreSQL]을 선택합니다. 92

97 4단계: AWS Schema Conversion Tool(AWS SCT)을 사용하여 Oracle 스키마를 PostgreSQL로 변환합니다. 2. [Connect to Oracle]을 선택합니다. [Connect to Oracle] 대화 상자에서 다음 정보를 입력한 후 [Test Connection]을 선택합니다. 파라미터 설명 Type [SID]를 선택합니다. [Server name] 서버 이름을 입력합니다. [Server port] Oracle 포트 번호를 입력합니다. 기본값은 1521입니다. [Oracle SID] 데이터베이스 SID를 입력합니다. 사용자 이름 Oracle 관리자 사용자 이름을 입력합니다. [Password] 관리 사용자 암호를 입력합니다. 93

98 4단계: AWS Schema Conversion Tool(AWS SCT)을 사용하여 Oracle 스키마를 PostgreSQL로 변환합니다. 3. [OK]를 선택하여 알림 상자를 닫은 후 [OK]를 선택하여 이 대화 상자를 닫고 Oracle DB 인스턴스와의 연 결을 시작합니다. Oracle DB 인스턴스의 데이터베이스 구조가 표시됩니다. 4. [Connect to Amazon RDS for PostgreSQL]을 선택합니다. [Connect to Amazon PostgreSQL] 대화 상자 에서 다음 정보를 입력한 후 [Test Connection]을 선택합니다. 파라미터 설명 [Server name] 서버 이름을 입력합니다. [Server port] PostgreSQL 포트 번호를 입력합니다. 기본값은 5432입니 다. 데이터베이스 데이터베이스 이름을 입력합니다. 사용자 이름 PostgreSQL 관리자 사용자 이름을 입력합니다. [Password] 관리 사용자 암호를 입력합니다. 94

99 4단계: AWS Schema Conversion Tool(AWS SCT)을 사용하여 Oracle 스키마를 PostgreSQL로 변환합니다. 5. [OK]를 선택하여 알림 상자를 닫은 후 [OK]를 선택하여 이 대화 상자를 닫고 PostgreSQL DB 인스턴스 와의 연결을 시작합니다. 6. 마이그레이션할 스키마에 대한 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 열고 나서 [Convert schema] 를 선택합니다. 95

100 4단계: AWS Schema Conversion Tool(AWS SCT)을 사용하여 Oracle 스키마를 PostgreSQL로 변환합니다. 7. 확인 메시지에서 [Yes]를 선택합니다. 그런 다음 AWS SCT는 스키마를 대상 데이터베이스 형식으로 변 환합니다. 96

101 4단계: AWS Schema Conversion Tool(AWS SCT)을 사용하여 Oracle 스키마를 PostgreSQL로 변환합니다. AWS SCT는 스키마를 분석하고 PostgreSQL로 변환하기 위한 데이터베이스 마이그레이션 평가 보고서 를 생성합니다. 8. [View]에서 [Assessment Report View]를 선택하여 보고서를 확인합니다. 보고서는 변환이 성공적으로 수행되는 데 필요한 수동 변경의 양과 각 객체 유형별로 구분됩니다. 일반적으로 패키지, 절차 및 기능은 매우 세부적으로 사용자 지정된 PL/SQL 코드를 포함하므로 해결할 문제가 있을 가능성이 높습니다. 또한 AWS SCT는 이러한 객체를 수정하는 방법에 대한 힌트를 제공합 니다. 97

102 4단계: AWS Schema Conversion Tool(AWS SCT)을 사용하여 Oracle 스키마를 PostgreSQL로 변환합니다. 9. [Action Items] 탭을 선택합니다. [Action Items] 탭에는 주의를 요하는 각 객체에 대한 각 문제가 표시됩니다. 각 변환 문제마다 다음 작업 중 하나를 완료할 수 있습니다. AWS SCT는 객체를 대상 PostgreSQL 데이터베이스로 변환할 수 있도록 원본 Oracle 데이터베이 스에서 객체를 수정합니다. 1. 원본 Oracle 데이터베이스에서 객체를 수정합니다. 2. 이전 단계를 반복하여 스키마를 변환하고 평가 보고서를 확인합니다. 98

103 단계: AWS Schema Conversion Tool(AWS SCT)을 사용하여 Oracle 스키마를 PostgreSQL로 변환합니다. 필요할 경우 변환 문제가 없을 때까지 이 프로세스를 반복합니다. [View]에서 [Main View]를 선택하고 대상 PostgreSQL 스키마에 대해 컨텍스트(마우스 오른쪽 버튼 클릭)를 연 다음, [Apply to database]를 선택하여 스키마 변경 내용을 PostgreSQL 데이터 베이스에 적용합니다. 대상 PostgreSQL 데이터베이스에서 스크립트를 적용하기 전에 원본 스키마를 수정하는 대신에 AWS SCT에 의해 생성된 스크립트를 수정합니다. 1. 대상 PostgreSQL 스키마 이름에 대한 컨텍스트(마우스 오른쪽 버튼 클릭)를 열고 [Save as SQL]을 선택합니다. 다음에는 스크립트의 이름과 대상을 선택합니다. 2. 스크립트에서 객체를 수정하여 변환 문제를 해결합니다. 3. 대상 PostgreSQL 데이터베이스에서 이 스크립트를 실행합니다. 자세한 내용은 AWS Schema Conversion Tool 사용 설명서의 Converting Database Schema to Amazon RDS by Using the AWS Schema Conversion Tool 단원을 참조하십시오. 10. AWS SCT를 사용하여 매핑 규칙을 생성합니다. a. [Settings]에서 [Mapping Rules]를 선택합니다. b. 스키마 이름 및 테이블 이름을 소문자로 변환하는 두 가지 기본 매핑 규칙 외에도, 작업 항목에 따라 요구되는 추가 매핑 규칙을 생성합니다. c. 매핑 규칙을 저장합니다. 99

104 5단계: AWS DMS 복제 인스턴스 생성 d. [Export script for DMS]를 클릭하여 AWS DMS 작업에서 원본의 어느 객체가 대상의 어느 객체에 해 당하는지를 결정하는 데 사용할 모든 변환의 JSON 형식을 내보냅니다. Save를 클릭합니다. 5단계: AWS DMS 복제 인스턴스 생성 원본과 대상 데이터베이스 간의 스키마 구조를 검증한 후 이 연습의 핵심 부분인 데이터 마이그레이션을 계 속 진행합니다. 다음 그림은 마이그레이션 프로세스의 상위 수준 보기를 보여줍니다. AWS DMS 복제 인스턴스는 원본과 대상 간에 실제 데이터 마이그레이션을 수행합니다. 복제 인스턴스도 마 이그레이션 중에 트랜잭션 로그를 캐시합니다. 복제 인스턴스가 갖는 CPU와 메모리 용량은 마이그레이션에 필요한 전체 시간에 영향을 줍니다. AWS DMS 복제 인스턴스를 생성하려면 1. AWS Management Console에 로그인하고 AWS DMS를 선 택합니다. 다음에는 [Create Migration]을 선택합니다. AWS Identity and Access Management(IAM) 사 용자로서 로그인한 경우에는 AWS DMS 액세스를 위한 적절한 권한이 있어야 합니다. 필요한 권한에 대 한 자세한 내용은 AWS DMS 사용에 필요한 IAM 권한을 참조하십시오. 2. [Next]를 선택하여 콘솔의 [Welcome] 페이지에서 데이터베이스 마이그레이션을 시작합니다. 3. [Create replication instance] 페이지에서 복제 인스턴스 정보를 지정합니다. 파라미터 설명 이름 복제 인스턴스의 이름을 선택합니다. 여러 복제 서버를 사용 하거나 계정을 공유하려는 경우 서로 다른 서버 간에 쉽게 구별할 수 있는 이름을 선택합니다. 설명 간단한 설명을 입력합니다. 100

105 6단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. 4. 파라미터 설명 인스턴스 클래스 생성할 복제 서버의 유형을 선택합니다. 각각의 인스턴스 클 래스의 크기 및 유형은 CPU, 메모리 및 I/O 용량을 늘립니 다. 일반적으로 t2 인스턴스는 저로드 작업용이며, c4 인스 턴스는 고로드 및 기타 작업용입니다. [VPC] 복제 인스턴스가 시작될 VPC를 선택합니다. 가능한 경우 원 본이나 대상 데이터베이스(또는 이 모두)가 상주하는 동일 한 VPC를 선택합니다. 다중 AZ [Yes]를 선택하면 AWS DMS는 기본 복제 서버 관련 문제가 있는 경우 다른 가용 영역에 장애 조치용으로 두 번째 복제 서버를 생성합니다. [Publicly accessible] 복제 서버가 상주하는 VPC 외부에 원본 또는 대상 데이터베 이스가 상주하는 경우 복제 서버 정책을 공개적으로 액세스 할 수 있게 설정해야 합니다. [Advanced] 섹션에서는 다음 정보를 지정합니다. 파라미터 설명 [Allocated storage (GB)] 과거 작업 로그를 포함하여 AWS DMS 작업 로그에 대한 복 제 서버의 스토리지 양. 또한 AWS DMS에서는 원본에서 대 상으로 복제하는 동안 디스크 스토리지를 사용하여 특정 데 이터를 캐싱합니다. 또한, 스토리지가 많을수록 일반적으로 서버에서 IOPS가 향상됩니다. [Replication Subnet Group] 다중 AZ 구성으로 실행하는 경우 최소 두 개의 서브넷 그룹 이 필요합니다. [Availability zone] 일반적으로 대상 데이터베이스와 동일한 가용 영역에 기본 할당 서버가 있으면 성능이 향상됩니다. VPC Security Group(s) 보안 그룹을 사용하면 VPC에 대한 수신 및 송신을 제어할 수 있습니다. AWS DMS에서는 복제 서버가 시작되는 VPC 에 하나 이상의 보안 그룹을 연결할 수 있습니다. [KMS master key] AWS DMS를 통해 모든 데이터는 KMS 암호화 키를 사용하 여 유휴 상태로 암호화됩니다. 기본적으로 AWS DMS는 복 제 서버에 대한 새 암호 키를 생성합니다. 하지만 기본 키를 사용하도록 선택할 수 있습니다. KMS 마스터 키에 대한 자세한 내용은 암호화 키 설정 및 KMS 권한 지정을 참조하십시오. 5. [Next]를 클릭합니다. 6단계: AWS DMS 원본과 대상 엔드포인트를 생성합니 다. 복제 인스턴스가 생성되는 동안 AWS Management Console을 사용하여 원본과 대상 데이터베이스 엔드포 인트를 지정할 수 있습니다. 그렇지만, 복제 인스턴스는 연결에 사용되기 때문에 복제 인스턴스가 생성된 후 에는 연결을 테스트만할 수 있습니다. 101

106 6단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. 콘솔을 사용하여 원본 및 대상 데이터베이스 엔드포인트를 지정하려면 1. 원본 Oracle 데이터베이스와 대상 PostgreSQL 데이터베이스에 대한 연결 정보를 지정합니다. 다음 표 는 원본 설정에 대한 설명입니다. 파라미터 설명 [Endpoint Identifier] Orasource 같은 이름을 입력합니다. 소스 엔진 [oracle]을 선택합니다. [Server name] Oracle DB 인스턴스 서버 이름을 입력합니다. Port 데이터베이스 포트. Oracle의 기본값은 1521입니다. [SSL mode] 연결 트래픽에 대해 암호화를 활성화해야 하는 경우 SSL 모 드를 선택합니다. 사용자명 원본 데이터베이스에 연결하는 데 사용할 사용자. [Password] 사용자 암호를 입력합니다. [SID] Oracle 데이터베이스 이름을 입력합니다. 다음 표에서는 고급 원본 설정을 설명합니다. 102

107 6단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. 파라미터 설명 [Extra connection attributes] AWS DMS의 동작을 변경하거나 기능을 추가하기 위해 엔 드포인트에서 설정할 수 있는 추가 파라미터. Oracle 원본 데이터베이스에 대해 설정할 가장 일반적이고 편리한 파라 미터 중 일부는 다음과 같습니다. 세미콜론(;)을 사용하여 여 러 항목을 서로 구분합니다. addsupplementallogging - 이 파라미터는Y로 설정될 경우 보충 로깅을 자동으로 구성합니다. uselogminerreader - 기본적으로 AWS DMS는 Oracle 데이터베이스에 Logminer를 사용하여 원본 데이 터베이스에서 모든 변경 내용을 캡처합니다. 또 다른 모 드로 Binary Reader가 있습니다. Logminer 대신에 Binary Reader를 사용하는 경우 AWS DMS는 원본 Oracle 데이 터베이스의 보관된 재실행 로그를 복제 서버로 복사하고 전체 로그를 읽어와서 변경 내용을 캡처합니다. Binary Reader 옵션은 AMS에서 Logminer보다 성능 상의 이점을 제공하므로 ASM을 사용하는 경우에는 이 옵션을 권장합 니다. 원본 데이터베이스가 12c이면 Binary Reader 옵션 은 현재 LOB 객체에 대해 Oracle에서 CDC 변경 내용을 캡처하는 유일한 방법입니다. Logminer를 사용하려면 다음을 입력합니다. uselogminerreader=y Binary Reader를 사용하려면 다음을 입력합니다. uselogminerreader=n; usebfile=y [KMS master key] 복제 인스턴스의 스토리지를 암호화하기로 한 경우 KMS 마 스터 키를 입력합니다. 추가 연결 속성에 대한 자세한 내용은 Using Extra Connection Attributes with AWS Database Migration Service를 참조하십시오. 다음 표는 대상 설정에 대한 설명입니다. 파라미터 설명 [Endpoint Identifier] Postgrestarget 같은 이름을 입력합니다. [Target Engine] postgres를 선택합니다. [Servername ] PostgreSQL DB 인스턴스 서버 이름을 입력합니다. Port 데이터베이스 포트. PostgreSQL의 기본값은 5432입니다. [SSL mode] [None]을 선택합니다. 사용자명 대상 데이터베이스에 연결하는 데 사용할 사용자. [Password] PostgreSQL DB 인스턴스의 암호를 입력합니다. 103

108 6단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. 다음은 완료한 페이지의 예입니다. 2. 엔드포인트와 복제 인스턴스가 생성된 후 원본 및 대상 엔드포인트에 대해 [Run test]를 선택하여 각 엔 드포인트 연결을 테스트합니다. 3. 대상 데이터베이스에서 외래 키 제약 조건 및 트리거를 삭제합니다. 전체 로드 프로세스 동안 AWS DMS는 특정 순서대로 테이블을 로드하지 않으므로 상위 테이블 데이터 전에 하위 테이블 데이터가 로드될 수도 있습니다. 따라서 외래 키 제약 조건이 활성화되는 경우 이러한 제약 조건을 위반하게 될 수도 있습니다. 또한 트리거가 대상 데이터베이스에 있는 경우 예기치 않은 방 식으로 AWS DMS에 의해 로드되는 데이터가 변경될 수도 있습니다. 4. 없으면 외래 키 제약 조건과 트리거를 활성화하는 스크립트를 생성합니다. 나중에 마이그레이션된 데이터베이스에 추가하려는 경우에는 이 스크립트만 실행하면 됩니다. 5. (선택 사항) 대상 데이터베이스에 보조 인덱스를 삭제합니다. 104

109 7단계: AWS DMS 마이그레이션 작업 생성 및 실행 보조 인덱스(모든 인덱스와 마찬가지로)는 로딩 프로세스 중에 유지 관리 및 업데이트되어야 하므로 데 이터를 테이블에 전체 로드하는 속도가 느려질 수 있습니다. 이러한 인덱스를 삭제하면 전체 로드 프로 세스의 성능이 향상될 수 있습니다. 인덱스를 삭제하는 경우 전체 로드를 완료하고 나서 나중에 다시 추 가해야 합니다. 6. [Next]를 선택합니다. 7단계: AWS DMS 마이그레이션 작업 생성 및 실행 AWS DMS 작업을 사용하여 마이그레이션할 스키마와 마이그레이션 유형을 지정할 수 있습니다. 기존 데이 터를 마이그레이션하거나, 지속적 변경 사항을 복제하거나, 또는 데이터 변경 사항만 복제할 수 있습니다. 이 연습에서는 기존 데이터를 마이그레이션하고 지속적인 변경 내용을 복제합니다. 마이그레이션 작업을 생성하려면 1. [Create Task] 페이지에서 작업 옵션을 지정합니다. 다음 표는 설정에 대한 설명입니다. 파라미터 설명 [Task name] 마이그레이션 작업의 이름을 입력합니다. [Task description] 작업 설명을 입력합니다. [Source endpoint] Oracle 소스 엔드포인트를 표시합니다. 계정에 엔드포인트가 두 개 이상이면 목록에서 올바른 엔드 포인트를 선택합니다. [Target endpoint] PostgreSQL 대상 엔드포인트를 표시합니다. 복제 인스턴스 AWS DMS 복제 인스턴스를 표시합니다. [Migration type] [Migrate existing data and replicate ongoing changes] 옵션 을 선택합니다. [Start task on create] 이 옵션을 선택합니다. 이 페이지는 다음과 같이 보여야 합니다. 105

110 7단계: AWS DMS 마이그레이션 작업 생성 및 실행 2. AWS Schema Conversion Tool을 사용하여 테이블을 이미 생성했으므로 [Task Settings]에서 [Target table preparation mode]에 대해 Do nothing] 또는 [Truncate]를 선택합니다. Oracle 데이터베이스에 LOB가 있는 경우, 모든 테이블에 대한 전체 LOB를 복제하려면 [Include LOB columns in replication]에 대해 [Full LOB mode]를 선택합니다. LOB를 특정 크기까지만 복제하려면 [Limited LOB mode]를 선택합니다. [Max LOB size (kb)]에서 마이그레이션할 LOB의 크기를 지정합니 다. [Enable logging]을 선택하는 것이 좋습니다. 로깅을 활성화할 경우 작업에서 발생하는 오류나 경고를 확 인하고 이러한 문제를 해결할 수 있습니다. 3. [Advanced] 설정을 기본값으로 둡니다. 106

111 7단계: AWS DMS 마이그레이션 작업 생성 및 실행 4. [Table mappings]를 선택하고 [JSON] 탭을 선택합니다. 다음에는 [Enable JSON editing]을 선택하고 4 단계: AWS Schema Conversion Tool(AWS SCT)을 사용하여 Oracle 스키마를 PostgreSQL로 변환합니 다. (p. 92)의 마지막 단계에서 저장한 테이블 매핑을 입력합니다. 다음은 스키마 이름 및 테이블 이름을 소문자로 변환하는 매핑의 예입니다. { } 5. "rules": [ { "rule-type": "transformation", "rule-id": "100000", "rule-name": "Default Lowercase Table Rule", "rule-action": "convert-lowercase", "rule-target": "table", "object-locator": { "schema-name": "%", "table-name": "%" } }, { "rule-type": "transformation", "rule-id": "100001", "rule-name": "Default Lowercase Schema Rule", "rule-action": "convert-lowercase", "rule-target": "schema", "object-locator": { "schema-name": "%" } } ] [Create task]를 선택합니다. 작업이 즉시 시작됩니다. [Tasks] 섹션에는 마이그레이션 작업 상태가 나타납니다. 작업을 설정할 때 [Enable logging]을 선택했으면 작업을 모니터링할 수 있습니다. 그리고 나서 다음 작업을 수행하여 CloudWatch 측정치를 확인할 수 있습니다. 진행 중인 데이터 마이그레이션 작업을 모니터링하려면 1. 탐색 창에서 [Tasks]를 선택합니다. 2. 마이그레이션 작업을 선택합니다. 3. [Task monitoring] 탭을 선택하고 이 탭에서 진행 중인 작업을 모니터링합니다. 전체 로드가 완료되고 캐시된 변경 사항이 적용되면 작업이 자체적으로 중지됩니다. 107

112 8단계: PostgreSQL로 전환 4. 대상 PostgreSQL 데이터베이스에서 이전에 저장한 스크립트를 사용하여 외래 키 제약 조건과 트리거를 활성화합니다. 5. 대상 PostgreSQL 데이터베이스에서 이전에 제거한 경우 보조 인덱스를 다시 생성합니다. 6. AWS DMS 콘솔에서 작업에 대해 [Start/Resume]을 클릭하여 AWS DMS를 시작합니다. AWS DMS 작업은 원본 데이터베이스 변경 내용을 적용하여 대상 PostgreSQL 데이터베이스를 최신 상 태로 유지합니다. AWS DMS는 애플리케이션 마이그레이션을 구현해야 할 시점이 될 때까지 작업의 모 든 테이블을 최신 상태로 유지합니다. 대상이 원본과 거의 비슷해지면 지연 시간이 0이거나 0에 가깝습 니다. 8단계: PostgreSQL로 전환 다음 단계를 수행하여 Oracle 데이터베이스에서 PostgreSQL 데이터베이스로 연결을 전환합니다. PostgreSQL로 전환하려면 1. 스크립트 실행이나 클라이언트 연결 같은 모든 Oracle 데이터베이스 종속성 및 작업을 종료합니다. 다음 쿼리는 결과를 반환하지 않습니다. SELECT MACHINE, COUNT FROM V$SESSION GROUP BY MACHINE; 2. 남은 세션을 나열하여 종료합니다. SELECT SID, SERIAL#, STATUS FROM V$SESSION; ALTER SYSTEM KILL 'sid, serial_number' IMMEDIATE; 3. Oracle 데이터베이스에서 모든 리스너를 종료합니다. 4. AWS DMS 작업을 통해 PostgreSQL 데이터베이스에서 Oracle 데이터베이스의 최종 변경 내용을 적용 합니다. ALTER SYSTEM CHECKPOINT; 5. AWS DMS 콘솔에서 작업에 대해 [Stop]을 클릭하여 AWS DMS 작업을 중지하고 작업을 중지하려 함을 확인합니다. 6. (선택 사항) 롤백을 설정합니다. 표시 중지 문제가 발생하는 경우 반대 방향으로 진행하는 작업을 생성하여 선택적으로 롤백 작업을 설정 할 수 있습니다. 모든 테이블이 두 데이터베이스 사이에서 동기화되어야 하므로 CDC 작업만 설정하면 됩니다. 따라서 외래 키 제약 조건을 비활성화할 필요가 없습니다. 원본 및 대상 데이터베이스가 뒤바뀌 었으므로, 다음 섹션의 지침을 따라야 합니다. 에서 PostgreSQL 데이터베이스를 원본으로 사용 에서 Oracle 데이터베이스를 대상으로 사용 a. 원본 Oracle 데이터베이스에서 트리거를 비활성화합니다. 108

113 마이그레이션 롤백 SELECT 'ALTER TRIGGER' owner '.' trigger_name 'DISABLE;' FROM DBA_TRIGGERS WHERE OWNER = 'schema_name'; 따라서 외래 키 제약 조건을 비활성화할 필요가 없습니다. CDC 프로세스가 수행되는 동안은 애플 리케이션 사용자가 업데이트할 때와 똑같은 순서대로 외래 키 제약 조건이 업데이트됩니다. b. 엔드포인트가 뒤 바뀐 상태(원본 PostgreSQL 엔드포인트와 대상 Oracle 엔드포인트 데이터베이스) 에서 새 CDC 전용 AWS DMS 작업을 생성합니다. 7단계: AWS DMS 마이그레이션 작업 생성 및 실 행 (p. 105) 단원을 참조하십시오. 롤백 작업의 경우 [Migration type]을 [Replicate data changes only]로, [Target table preparation mode]를 [Do nothing]으로 설정합니다. c. 7. 롤백이 필요할 경우 새 PostgreSQL 데이터베이스에서 원래의 원본 Oracle 데이터베이스로 변경 내 용을 되돌릴 수 있도록 AWS DMS 작업을 시작합니다. PostgreSQL 데이터베이스에 연결하고 트리거를 활성화합니다. ALTER TABLE table_name ENABLE TRIGGER ALL; 8. 롤백을 설정하는 경우 롤백 설정을 완료합니다. a. 새 대상 PostgreSQL 데이터베이스에서 애플리케이션 서비스(스크립트, 클라이언트 소프트웨어 등 포함)를 시작합니다. b. 새 PostgreSQL 데이터베이스에서 Cloudwatch 모니터링을 추가합니다. Monitoring Amazon RDS 섹션을 참조하십시오. 마이그레이션 롤백 적시에 확인할 수 없는 마이그레이션 관련 주요 문제가 있는 경우 마이그레이션을 롤백할 수 있습니다. 이러 한 단계에서는 8단계: PostgreSQL로 전환 (p. 108)에 설명된 대로 롤백 준비가 이미 완료되었다고 가정합 니다. 마이그레이션을 롤백하려면 1. 대상 PostgreSQL 데이터베이스에서 모든 애플리케이션 서비스를 중지합니다. 2. AWS DMS 작업을 통해 남은 변경 내용이 원본 Oracle 데이터베이스로 복제되도록 합니다. 3. PostgreSQL을 Oracle AWS DMS 작업을 중지합니다. 4. 원본 Oracle 데이터베이스에서 모든 애플리케이션을 다시 시작합니다. 문제 해결 원본으로서 Oracle을 사용하고 대상으로서 PostgreSQL을 사용할 때 문제가 나타나는 가장 일반적이 두 영 역은 보충 로깅과 대소문자 구분입니다. 보충 로깅 Oracle을 통해 변경 데이터를 복제하려면 보충 로깅을 활성화해야 합니다. 그렇지만, 데이터베 이스 수준에서 보충 로깅을 활성화할 경우, 때로는 새 테이블을 생성할 때 보충 로깅을 계속 활성화해야 합 니다. 이 문제에 대한 최적의 해결책은 추가 연결 속성을 사용하여 AWS DMS가 보충 로깅을 자동으로 활 성화하도록 허용하는 것입니다. addsupplementallogging=y 109

114 문제 해결 대소문자 구분: Oracle은 대소문자를 구분하지 않습니다(객체 이름을 따옴표로 묶지 않은 경우). 그렇지만, 텍스트는 대문자로 표시됩니다. 또한, AWS DMS는 기본적으로 대문자로 대상 객체를 명명합니다. 대다수 의 경우에 변환을 사용하여 스키마, 테이블 또는 열 이름을 소문자로 변경해야 합니다. 추가 팁을 보려면 AWS DMS 사용 설명서의 AWS DMS 문제 해결 섹션을 참조하십시오. Oracle별로 문제를 해결하려면, Oracle 문제 해결 섹션을 참조하십시오. Oracle별 문제 해결 PostgreSQL 문제를 해결하려면, PostgreSQL 문제 해결 섹션을 참조하십시오. PostgreSQL별 문제 해결 110

115 사전 조건 Amazon RDS for Oracle Database를 Amazon Redshift로 마이그레이션 본 연습에서는 (AWS DMS)와 AWS Schema Conversion Tool(AWS SCT) 을 사용하여 다른 유형의 데이터베이스를 Oracle용 Amazon RDS에서 Amazon Aurora로 마이그레이션하는 과정을 안내합니다. 다음은 입문용 실습이므로 모든 시나리오를 다루지 않지만 그러한 마이그레이션에서 따 라야 하는 단계를 이해하는 데 도움이 됩니다. AWS DMS와 AWS SCT가 다른 별개의 도구이며 각기 다른 요구 사항에 부합한다는 점도 잘 알고 있어야 합 니다. 이들 도구는 마이그레이션 프로세스에서 서로 상호작용하지 않습니다. 고급 수준에서 이 마이그레이션 에 수반되는 단계는 다음과 같습니다. 1. AWS SCT를 사용하여 다음을 수행합니다. Oracle에서 Amazon Redshift로의 변환 보고서를 실행하여 스키마 변환에 필요한 문제, 제한 사항 및 작 업을 확인합니다. 스키마 스크립트를 생성하고 대상에서 이것을 적용한 후 AWS DMS를 사용하여 데이터 로드를 실행합 니다. AWS SCT는 절차 및 보기와 같은 객체에 대한 필수 코드 변환을 수행합니다. 2. AWS SCT에서 보고한 문제에 대한 해결책을 확인하고 구현합니다. 3. AWS DMS 데이터 로드에 영향을 줄 수 있는 외래 키 또는 다른 모든 제약을 비활성화합니다. 4. AWS DMS는 전체 로드 접근 방식을 사용하여 원본에서 대상으로 데이터를 로드합니다. AWS DMS가 로 드의 일부로서 대상에서 객체를 생성할 수 있더라도 최소한의 접근 방식에 따라 데이터를 효율적으로 마 이그레이션하므로 전체 스키마 구조가 원본에서 대상으로 복제되지 않습니다. 5. 추가 인덱스 생성과 같은 마이그레이션 후 활동을 수행하여 외래 키를 활성화하고 애플리케이션에서 필요 한 변경 사항을 적용하여 새 데이터베이스를 가리킵니다. 다음 연습에서는 사용자 지정 AWS CloudFormation 템플릿을 사용하여 Oracle 및 Amazon Redshift용 Amazon RDS DB 인스턴스를 생성합니다. 그런 다음 SQL 명령 스크립트를 사용하여 샘플 스키마와 데이터 를 RDS Oracle DB 인스턴스에 설치한 후 Amazon Redshift에 마이그레이션합니다. 이 연습을 완료하기까지 약 2시간이 소요됩니다. 지침에 따라 이 연습이 끝나면 추가 요금이 발생하지 않도 록 리소스를 삭제해야 합니다. 항목 사전 조건 (p. 111) 마이그레이션 아키텍처 (p. 112) 단계별 마이그레이션 (p. 113) 다음 단계 (p. 147) 참조 (p. 147) 사전 조건 이 연습을 완료하려면 다음 사전 요구 사항도 필요합니다. 111

116 마이그레이션 아키텍처 Amazon RDS, Amazon Redshift, 해당 데이터베이스 기술 및 SQL에 대한 지식. 마이그레이션할 테이블 생성과 마이그레이션 확인을 위한 SQL 쿼리를 포함하는 사용자 지정 스크립트는 다음과 같습니다. SH 스키마를 빌드하는 SQL 문 AWS CloudFormation 템플릿 이 연습의 각 단계마다 관련 파일을 다운로드할 수 있는 링크가 포함되어 있거나 해당 단계에 정확한 쿼리 가 포함되어 있습니다. AWS 리전에서 RDS, (AWS DMS) 인스턴스와 Amazon Redshift 클러스 터를 시작할 수 있도록 해주는 AWS Identity and Access Management (IAM) 자격 증명을 가진 AWS 계정 입니다. IAM 자격 증명에 대한 정보는 IAM 사용자 생성 섹션을 참조하십시오. Amazon Virtual Private Cloud(Amazon VPC) 서비스 및 보안 그룹에 대한 기본 지식. Amazon RDS에서 Amazon VPC를 사용하는 방법에 대한 정보는 가상 사설 클라우드(VPCs) 및 Amazon RDS 섹션을 참조하 십시오. Amazon RDS 보안 그룹에 대한 자세한 내용은 Amazon RDS 보안 그룹을 참조하십시오. VPC에 서 Amazon Redshift 사용에 대한 자세한 내용은 Amazon Virtual Private Cloud(VPC)의 클러스터 관리를 참조하십시오. AWS DMS의 지원 기능 및 제한 사항에 대한 이해 AWS DMS에 대한 자세한 내용은 AWS Database Migration Service란 무엇입니까? 섹션을 참조하십시오. Oracle 및 Amazon Redshift에서 지원되는 데이터 형식 변환 옵션에 대한 정보입니다. 원본으로서 Oracle 용 데이터 형식에 대한 정보는 에서 Oracle 데이터베이스를 원본으로 사 용 을 참조하십시오. 원본으로서 Amazon Redshift 데이터 형식에 대한 정보는 AWS Database Migration Service에서 Amazon Redshift 데이터베이스를 대상으로 사용 을 참조하십시오. AWS DMS에 대한 자세한 내용은 AWS DMS 설명서를 참조하십시오. 마이그레이션 아키텍처 이 예제에서는 AWS CloudFormation을 사용하여 데이터베이스 마이그레이션을 위한 단순 네트워크 토폴로 지를 생성하며, 여기에는 원본 데이터베이스, 복제 인스턴스, 동일한 VPC의 대상 데이터베이스가 포함됩니 다. AWS CloudFormation에 대한 자세한 내용은 CloudFormation 설명서를 참조하십시오. AWS CloudFormation을 통해 본 AWS DMS 연습에 필요한 AWS 리소스를 프로비저닝합니다. 이러 한 리소스에는 VPC 및 Oracle용 Amazon RDS 인스턴스, Amazon Redshift 클러스터가 포함됩니다. CloudFormation을 통해 프로비저닝하므로 프로세스가 간편해져 데이터 마이그레이션과 관련된 작업에 집중 할 수 있습니다. CloudFormation 템플릿에서 스택을 생성하면 다음 리소스를 프로비저닝합니다. 리전에서 퍼블릭 서브넷 2개를 지원하는 CIDR( /24)을 사용한 VPC, 가용 영역(AZ) 1에서 주소가 /26인 DBSubnet1, AZ 12에서 주소가 /26인 DBSubnet2입니다. DBSubnet1과 DBSubnet2를 포함하는 DB 서브넷 그룹입니다. Oracle RDS Standard Edition Two의 배포 옵션 2개는 다음과 같습니다. 라이선스 포함 Single-AZ 설정 db.m3 미디엄 또는 이에 준하는 인스턴스 클래스 포트 1521 기본 옵션 및 파리미터 그룹 이 배포 옵션을 사용한 Amazon Redshift 클러스터는 다음과 같습니다. dc1.large 포트 5439 기본 파라미터 그룹 112

117 단계별 마이그레이션 입력 파라미터를 기반으로 컴퓨터 또는 /0(어디에서든 액세스)에서 수신 액세스가 지원되는 보안 그 룹 사용자의 입력이 거의 필요 없도록 CloudFormation 템플릿을 설계했습니다. 최소 권장 구성으로 필요한 AWS 리소스를 프로비저닝합니다. 그렇지만, VPC CIDR 블록과 Amazon RDS 인스턴스 형식과 같은 일부 구성과 파라미터를 변경해야 하는 경우에는 언제든지 템플릿을 업데이트하십시오. AWS Management Console을 사용하여 복제 인스턴스, 엔드포인트 및 작업과 같은 AWS DMS 리소스를 프 로비저닝합니다. 로컬 컴퓨터에 SQL Workbench/J 및 AWS Schema Conversion Tool(AWS SCT)과 같은 클 라이언트 도구를 설치하여 Amazon RDS 인스턴스에 연결합니다. 다음은 이 연습에 해당하는 마이그레이션 아키텍처에 대한 그림입니다. 단계별 마이그레이션 다음 섹션에는 Oracle 데이터베이스의 Amazon RDS를 Amazon Redshift로 마이그레이션하는 단계별 지침 이 나옵니다. 이 단계는 사용자가 이미 앞의 섹션에서 설명한 원본 데이터베이스를 준비했다고 가정합니다. 항목 113

118 1단계: CloudFormation 템플릿을 사 용하여 VPC에서 RDS 인스턴스 시작 1단계: CloudFormation 템플릿을 사용하여 VPC에서 RDS 인스턴스 시작 (p. 114) 2단계: 로컬 컴퓨터에 SQL 도구와 AWS Schema Conversion Tool 설치 (p. 119) 3단계: Oracle DB Instance와의 연결을 테스트하고 샘플 스키마 생성 (p. 122) 4단계: Amazon Redshift 데이터베이스와의 연결을 테스트합니다. (p. 126) 5단계: AWS SCT를 사용하여 Oracle 스키마를 Amazon Redshift로 변환 (p. 127) 6단계: 스키마 변환 검증 (p. 135) 7단계: AWS DMS 복제 인스턴스 생성 (p. 136) 8단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. (p. 137) 9단계: AWS DMS 마이그레이션 작업 생성 및 실행 (p. 140) 10단계: AWS DMS 마이그레이션이 성공적으로 완료되었는지 확인 (p. 144) 11단계: 연습 리소스 삭제 (p. 146) 1단계: CloudFormation 템플릿을 사용하여 VPC에서 RDS 인스턴스 시작 먼저 이 연습에서 필요한 AWS 리소스를 프로비저닝해야 합니다. 다음 연습에서는 AWS CloudFormation 템플릿을 사용하여 이 연습에 적합한 Amazon RDS 리소스 를 생성합니다. 1. AWS Management 콘솔에 로그인한 다음 AWS CloudFormation 콘솔을 엽니다. 2. [Create New Stack]을 선택합니다. 3. [Select Template ] 페이지에서 [Specify an Amazon S3 template URL ]을 선택하고 다음 URL을 인접한 텍스트 상자에 붙여 넣습니다

119 1단계: CloudFormation 템플릿을 사 용하여 VPC에서 RDS 인스턴스 시작 4. [Next]를 선택합니다. [Specify DB Details] 페이지에서 다음과 같이 파라미터 값을 입력합니다. 이 파라미터의 경우... 수행할 작업 [Stack Name ] OracletoRedshiftDWusingDMS를 입력합니다. [OracleDBName] 데이터베이스 고유 이름을 입력합니다. 이름은 문자로 시작 해야 합니다. 기본값은 ORCL입니다. [OracleDBUsername] Oracle 인스턴스를 관리할 관리(DBA) 사용자를 지정합니 다. 기본값은 oraadmin입니다. 115

120 1단계: CloudFormation 템플릿을 사 용하여 VPC에서 RDS 인스턴스 시작 이 파라미터의 경우... 수행할 작업 [OracleDBPassword] 관리 사용자 암호를 입력합니다. 기본값은 입니 다.oraadmin123 RedshiftDBName 데이터베이스 고유 이름을 입력합니다. 이름은 문자로 시작 해야 합니다. 기본값은 test입니다. RedshiftDBUsername 마스터 사용자 암호를 입력합니다. 기본값은 Redshift#123입니다. [ClientIP] 로컬 컴퓨터의 IP 주소를 CIDR(x.x.x.x/32) 형식으로 지정 합니다. whatsmyip.org에서 IP 주소를 가져올 수 있습니다. RDS 인스턴스의 보안 그룹은 이 IP 주소로의 수신을 허용합 니다. 기본값은 어디에서든 액세스 가능한 ( /0)이고, 권장되지 않습니다. 이 연습에서 IP 주소를 사용해야 합니 다. 116

121 1단계: CloudFormation 템플릿을 사 용하여 VPC에서 RDS 인스턴스 시작 5. [Next]를 선택합니다. [Options] 페이지에서 [Next]를 선택합니다. 6. [Review] 페이지에서 세부 정보를 검토하고 올바를 경우 [Create]를 선택합니다. 117

122 1단계: CloudFormation 템플릿을 사 용하여 VPC에서 RDS 인스턴스 시작 118

123 단계: 로컬 컴퓨터에 SQL 도구와 AWS Schema Conversion Tool 설치 AWS에서 Amazon RDS Oracle 인스턴스 및 Amazon Redshift 클러스터를 사용하여 스택을 생성하기까 지 약 20분 이상이 소요될 수 있습니다. 스택 생성 후 [OracletoRedshiftDWusingDMS] 스택을 선택하고, [Outputs] 보기를 선택합니다. JDBC 연 결 문자열 [OracleJDBCConnectionString] 및 [RedshiftJDBCConnectionString]을 기록해 두면 이 연습에 서 나중에 Oracle 및 Amazon Redshift 데이터베이스에 연결하는 데 사용할 수 있습니다. 2단계: 로컬 컴퓨터에 SQL 도구와 AWS Schema Conversion Tool 설치 그 다음, 로컬 컴퓨터에 SQL 클라이언트 및 AWS SCT를 설치합니다. 이 연습에서는 마이그레이션 확인을 위해 SQL Workbench/J 클라이언트를 사용하여 RDS 인스턴스에 연결 한다고 가정합니다. 119

124 2단계: 로컬 컴퓨터에 SQL 도구와 AWS Schema Conversion Tool 설치 SQL 클라이언트 소프트웨어를 설치하려면 1. SQL Workbench/J 웹사이트에서 SQL Workbench/J를 다운로드한 후 로컬 컴퓨터에 설치합니다. 이 SQL 클라이언트는 무료로 제공되는 오픈 소스로서 DBMS에 종속되어 있지 않습니다. 2. Oracle Database JDBC 드라이버(ojdbc7.jar)를 다운로드합니다. 3. Amazon Redshift 드라이버(RedshiftJDBC jar)를 다운로드합니다. 4. SQL Workbench/J를 사용하여 다음 설명과 같이 Oracle 및 Amazon Redshift용 JDBC 드라이버를 구성 하여 연결을 설정합니다. 1. SQL Workbench/J에서 [File]을 선택한 후 [Manage Drivers]를 선택합니다. 2. 드라이버 목록에서 [Oracle]을 선택합니다. 3. [Open] 아이콘을 선택하고 나서 이전 단계에서 다운로드한 ojdbc.jar 파일을 선택합니다. [OK]를 선택합니다. 4. 드라이버 목록에서 [Redshift]를 선택합니다. 5. [Open] 아이콘을 선택하고 나서 이전 단계에서 다운로드한 Amazon Redshift JDBC 드라이버를 선 택합니다. [OK]를 선택합니다. 120

125 2단계: 로컬 컴퓨터에 SQL 도구와 AWS Schema Conversion Tool 설치 그 다음, AWS SCT 및 필수 JDBC 드라이버를 설치합니다. AWS SCT와 필요한 JDBC 드라이버를 설치하려면 1. AWS Schema Conversion Tool 사용 설명서의 AWS Schema Conversion Tool 설치 및 업데이트에서 AWS SCT를 다운로드합니다. 2. 지침에 따라 AWS SCT를 설치합니다. 기본적으로 C:\Program Files\AWS Schema Conversion Tool\AWS 디렉터리에 이 도구가 설치됩니다. 3. AWS SCT를 시작합니다. 4. AWS SCT의 [Settings]에서 [Global Settings]를 선택합니다. 5. [Settings], [Global Settings]를 선택한 후 [Drivers]를 선택하고 나서 [Oracle Driver Path]에서 [Browse]를 선택합니다. Oracle JDBC 드라이버를 찾고 [OK]를 선택합니다. 6. [Amazon Redshift Driver Path]에서 [Browse]를 선택합니다. Amazon Redshift JDBC 드라이버를 찾고 [OK]를 선택합니다. [OK]를 선택하여 대화 상자를 닫습니다. 121

126 3단계: Oracle DB Instance와의 연 결을 테스트하고 샘플 스키마 생성 3단계: Oracle DB Instance와의 연결을 테스트하고 샘 플 스키마 생성 CloudFormation 스택을 생성한 후 SQL Workbench/J를 사용하여 Oracle DB 인스턴스 연결을 테스트하고 HR 샘플 스키마를 생성합니다. SQL Workbench/J를 사용하여 Oracle DB 인스턴스와의 연결을 테스트하고 샘플 스키마를 생성하 려면 1. SQL Workbench/J에서 [File]을 선택한 후 [Connect window]를 선택합니다. 다음 정보를 사용하여 새 연 결 프로필을 생성합니다. 이 파라미터의 경우... 수행할 작업 [New profile] 이름 RDSOracleConnection을 입력합니다. 드라이버 Oracle (oracle.jdbc.oracledriver)을 선택합니 다. 122

127 3단계: Oracle DB Instance와의 연 결을 테스트하고 샘플 스키마 생성 2. 이 파라미터의 경우... 수행할 작업 URL 이전 단계에서 DMSdemo 스택의 출력 세부 정보를 검사했 을 때 기록한 [OracleJDBCConnectionString] 값을 사용합니 다. 사용자명 oraadmin을 입력합니다. [Password] oraadmin123을 입력합니다. 연결을 테스트하려면 [Test]를 선택합니다. [OK]를 선택하여 대화 상자를 닫은 후 [OK]를 선택하여 연결 프로필을 생성합니다. Note 용 Oracle DB 인스턴스에 연결 123

128 3단계: Oracle DB Instance와의 연 결을 테스트하고 샘플 스키마 생성 연결에 실패한 경우, CloudFormation 템플릿을 생성할 때 할당한 IP 주소가 연결을 시도한 IP 주소인지 확인합니다. 이 문제는 인스턴스에 연결할 때 가장 일반적으로 발생하는 문제입니다. 3. 사용자 지정 스크립트를 사용하여 마이그레이션에 사용할 SH 스키마를 생성합니다. AWS에서 제공한 SQL 스크립트는 있습니다. 1. 텍스트 편집기에서 제공된 SQL 스크립트를 엽니다. 전체 스크립트를 복사합니다. 2. SQL Workbench/J에서 다음 코드를 복사하고 [Statement 1]를 보여 주는 Default.wksp 창에 SQL 스 크립트를 붙여 넣습니다. 3. [SQL]을 선택한 후 [Execute All]을 선택합니다. 124

129 3단계: Oracle DB Instance와의 연 결을 테스트하고 샘플 스키마 생성 4. 다음 SQL 쿼리를 실행하여 SH 스키마에서 객체 유형과 개수가 생성되었는지 확인합니다. Select OBJECT_TYPE, COUNT(*) from dba_objects where owner='sh' GROUP BY OBJECT_TYPE; 이 쿼리 결과는 다음과 비슷해야 합니다. 125

130 4단계: Amazon Redshift 데이터 베이스와의 연결을 테스트합니다. OBJECT_TYPE COUNT(*) INDEX PARTITION 40 TABLE PARTITION 8 TABLE 5 INDEX 다음 SQL 쿼리를 실행하여 총 테이블 수와 각 테이블별 행 수를 확인합니다. Select table_name, num_rows from dba_tables where owner='sh' order by 1; 이 쿼리 결과는 다음과 비슷해야 합니다. TABLE_NAME NUM_ROWS CHANNELS 5 CUSTOMERS 8 PRODUCTS 66 PROMOTIONS 503 SALES 테이블에서 무결성을 확인합니다. 다음 SQL 쿼리를 실행하여 다른 채널에서 달성한 판매량을 확인합니 다. Select b.channel_desc,count(*) from SH.SALES a,sh.channels b where a.channel_id=b.channel_id group by b.channel_desc order by 1; 이 쿼리 결과는 다음과 비슷해야 합니다. CHANNEL_DESC COUNT(*) Direct Sales 710 Internet 52 Partners 344 Note 이전 예제는 검증 쿼리를 대표합니다. 실제 마이그레이션을 수행할 때 유사한 쿼리를 생성하여 스키 마와 데이터 무결성을 검증해야 합니다. 4단계: Amazon Redshift 데이터베이스와의 연결을 테 스트합니다. 그 다음, Amazon Redshift 데이터베이스와의 연결을 테스트합니다. SQL Workbench/J를 사용하여 Amazon Redshift 데이터베이스와의 연결을 테스트하려면 1. SQL Workbench/J에서 [File]을 선택한 후 [Connect window]를 선택합니다. [Create a new connection profile] 아이콘을 선택합니다. 아래 나오는 정보를 사용하여 SQL Workbench/J에서 Amazon Redshift 데 이터베이스에 연결합니다. 126

131 5단계: AWS SCT를 사용하여 Oracle 스키마를 Amazon Redshift로 변환 2. 이 파라미터의 경우... 수행할 작업 [New profile] 이름 RedshiftConnection을 입력합니다. 드라이버 Redshift (com.amazon.redshift.jdbc42.driver)을 선택합니 다. URL 이전 단계에서 DMSdemo 스택의 출력 세부 정보를 검사했 을 때 기록한 RedshiftJDBCConnectionString 값을 사용합 니다. 사용자명 redshiftadmin을 입력합니다. [Password] Redshift데123을 입력합니다. 연결을 테스트하려면 [Test]를 선택합니다. [OK]를 선택하여 대화 상자를 닫은 후 [OK]를 선택하여 연결 프로필을 생성합니다. Note 연결에 실패한 경우, CloudFormation 템플릿을 생성할 때 할당한 IP 주소가 연결을 시도한 IP 주소인지 확인합니다. 이 문제는 인스턴스에 연결할 때 가장 일반적으로 발생하는 문제입니다. 3. select current_date;와 같은 샘플 SQL 명령을 실행하여 Amazon Redshift DB 인스턴스와의 연결 을 확인합니다. 5단계: AWS SCT를 사용하여 Oracle 스키마를 Amazon Redshift로 변환 데이터를 Amazon Redshift로 변환하기 전에 아래 설명과 같이 Oracle 스키마를 Amazon Redshift 스키마로 변환합니다. 127

132 5단계: AWS SCT를 사용하여 Oracle 스키마를 Amazon Redshift로 변환 AWS SCT를 사용하여 Oracle 스키마를 Amazon Redshift 스키마로 변환하려면 AWS SCT를 시작합니다. AWS SCT에서 [File]을 선택하고 나서 [New Project]를 선택합니다. DWSchemaMigrationDemoProject라고 하는 새 프로젝트를 만듭니다. [New Project] 창에 다음 정보 를 입력하고 [OK]를 선택합니다. 이 파라미터의 경우... 수행할 작업 [프로젝트 이름] DWSchemaMigrationDemoProject를 입력합니다. 위치 기본 [Projects] 폴더와 기본 [Data Warehouse (OLAP)] 옵션 을 사용합니다. [Source Database Engine] [Oracle DW]를 선택합니다. [Target Database Engine] [Amazon Redshift]을 선택합니다. [Connect to Oracle]을 선택합니다. [Connect to Oracle] 대화 상자에서 다음 정보를 입력한 후 [Test Connection]을 선택합니다. 이 파라미터의 경우... 수행할 작업 Type [SID]를 선택합니다. [Server name] Oracle DB 인스턴스에 연결하는 데 사용한 OracleJDBCConnectionString 값을 사용하지 만, JDBC 접두사 정보와 포트 및 데이터베이 스 이름 접미사를 제거합니다. 예를 들어, SQL Workbench/J에서 사용하는 샘플 연결 문자열은 될 수도 있습니다. AWS SCT [Server name]의 경우, ":1521:ORCL"을 제거 128

133 5단계: AWS SCT를 사용하여 Oracle 스키마를 Amazon Redshift로 변환 이 파라미터의 경우... 수행할 작업 하고 서버 이름: "abc cqi87654abc.uswest-2.rds.amazonaws.com"만을 사용합니다. 3. [Server port] [1521]을 입력합니다. [Oracle SID] ORCL을 입력합니다. 사용자 이름 oraadmin을 입력합니다. 비밀번호 oraadmin123을 입력합니다. [OK]를 선택하여 알림 상자를 닫은 후 [OK]를 선택하여 이 대화 상자를 닫고 Oracle DB 인스턴스와의 연 결을 시작합니다. Oracle DB 인스턴스의 데이터베이스 구조는 다음과 같이 표시됩니다. SH 스키마만을 선택합니다. 129

134 Note 5단계: AWS SCT를 사용하여 Oracle 스키마를 Amazon Redshift로 변환 SH 스키마가 목록에 표시되지 않을 경우, [Actions]를 선택하고 나서 [Refresh from Database] 를 선택합니다. 4. [Connect to Amazon Redshift]를 선택합니다. [Connect to Amazon Redshift] 대화 상자에서 다음 정보를 입력한 후 [Test Connection]을 선택합니다. 이 파라미터의 경우... 수행할 작업 Type [SID]를 선택합니다. [Server name] Amazon Redshift 클러스터에 연결하는 데 사용한 [RedshiftJDBCConnectionString] 값을 사용하지만, JDBC 접두사 정보와 포트 접미사를 제거합니다. 예를 들어, SQL Workbench/J에서 사용하는 샘플 연결 문 자열은 " jdbc:redshift://oracletoredshiftdwusingdmsredshiftcluster-abc abc uswest-2.redshift.amazonaws.com:5439/test"이 될 수도 있습니다. AWS SCT [Server name] 의 경우, " jdbc:redshift://" 및 :5439/test"를 제거 하고 서버 이름: "oracletoredshiftdwusingdmsredshiftcluster-abc abc uswest-2.redshift.amazonaws.com"만을 사용합니다. 130

135 5단계: AWS SCT를 사용하여 Oracle 스키마를 Amazon Redshift로 변환 이 파라미터의 경우... 수행할 작업 [Server port] [5439]을 입력합니다. 사용자 이름 redshiftadmin을 입력합니다. [Password] Redshift데123을 입력합니다. AWS SCT는 SH 스키마를 분석하고 데이터베이스 마이그레이션 평가 보고서를 생성하여 Amazon Redshift로 변환합니다. 5. [OK]를 선택하여 알림 상자를 닫은 후 [OK]를 선택하여 이 대화 상자를 닫고 Amazon Redshift DB 인스 턴스와의 연결을 시작합니다. 6. [Oracle DW] 보기에서 [SH] 스키마의 컨텍스트 메뉴를 열고(마우스 오른쪽 버튼 클릭) [Create Report] 를 선택합니다. 7. 보고서 요약을 검토하십시오. 보고서를 저장하려면 [Save to CSV] 또는 [Save to PDF]를 선택합니다. 이 보고서에서는 잠재적인 마이그레이션 문제 및 이 문제를 해결하는 조치와 더불어 AWS SCT를 사용 하여 변환할 수 있는 객체 유형에 대해 다룹니다. 이 연습에서는 다음과 같은 항목이 표시됩니다. 131

136 5단계: AWS SCT를 사용하여 Oracle 스키마를 Amazon Redshift로 변환 132

137 단계: AWS SCT를 사용하여 Oracle 스키마를 Amazon Redshift로 변환 [Action Items] 탭을 선택합니다. 이 보고서에서는 잠재적인 마이그레이션 문제 및 이 문제를 해결하는 조치와 더불어 AWS SCT를 사용하여 변환할 수 있는 객체 유형에 대해 다룹니다. 이 연습에서는 다음과 같은 항목이 표시됩니다. [Schemas] 목록에서 [SH] 항목의 컨텍스트 메뉴를 열고(마우스 오른쪽 버튼 클릭) [Collect Statistics]를 선택합니다. AWS SCT는 원본 데이터를 분석하여 대상 Amazon Redshift 데이터베이스를 위한 최적의 키를 권장합니다. 자세한 내용은 AWS Schema Conversion Tool을 위해 통계 수집 또는 업로드를 참조 하십시오. 10. [SH] 스키마의 컨텍스트를 열고(마우스 오른쪽 버튼 클릭) 나서 [Convert schema]를 선택합니다. 11. 확인 메시지에서 [Yes]를 선택합니다. 그런 다음 AWS SCT는 스키마를 대상 데이터베이스 형식으로 변 환합니다. 133

138 5단계: AWS SCT를 사용하여 Oracle 스키마를 Amazon Redshift로 변환 Note Amazon Redshift 정렬 키와 분산 키 선택은 최적의 성능에 필수적입니다. AWS SCT에서 키 관리를 사용하여 키 선택을 사용자 지정할 수 있습니다. 이 연습에서는 AWS SCT에서 권장하 는 기본값을 사용합니다. 자세한 내용은 AWS Schema Conversion Too을 사용하여 Amazon Redshift 최적화를 참조하십시오. 12. Amazon Redshift 보기에서 [SH] 스키마의 컨텍스트 메뉴를 열고(마우스 오른쪽 버튼으로 클릭) [Apply to database]를 선택하여 스키마 스크립트를 대상 Amazon Redshift 인스턴스에 적용합니다. 13. [SH] 스키마에서 컨텍스트 메뉴를 열고(마우스 오른쪽 버튼으로 클릭) [Refresh from Database]를 선택 합니다. 134

139 6단계: 스키마 변환 검증 이제 데이터베이스 스키마가 변환되어 원본에서 대상으로 가져올 수 있습니다. 6단계: 스키마 변환 검증 스키마 변환을 검증하려면, SQL Workbench/J를 사용하여 Oracle과 Amazon Redshift 데이터베이스에 나오 는 객체를 비교합니다. SQL Workbench/J를 사용하여 스키마 변환을 검증하려면 1. SQL Workbench/J에서 [File]을 선택한 후 [Connect window]를 선택합니다. 이전 단계에서 생성한 RedshiftConnection을 선택합니다. [OK]를 선택합니다. 2. 다음 스크립트를 실행하여 대상 Amazon Redshift 데이터베이스에서 객체 형식 개수와 SH 스키마 개수 를 확인합니다. 이 값은 원본 Oracle 데이터베이스의 객체 수와 일치해야 합니다. SELECT 'TABLE' AS OBJECT_TYPE, TABLE_NAME AS OBJECT_NAME, TABLE_SCHEMA AS OBJECT_SCHEMA FROM information_schema.tables WHERE TABLE_TYPE = 'BASE TABLE' AND OBJECT_SCHEMA = 'sh'; 이 쿼리는 다음과 비슷한 내용을 출력해야 합니다. object_type object_name object_schema TABLE channels sh TABLE customers sh TABLE products sh TABLE promotions sh TABLE sales sh 3. 다음 쿼리를 사용하여 Amazon Redshift 클러스터에 생성된 정렬 및 분산 키를 확인합니다. set search_path to '$user', 'public', 'sh'; SELECT tablename, "column", TYPE, encoding, distkey, sortkey, "notnull" FROM pg_table_def WHERE (distkey = TRUE OR sortkey <> 0); 쿼리 결과는 AWS SCT 키 관리를 사용하여 선택한 분산 키(distkey)와 정렬 키(sortkey)를 반영합니 다. tablename column type encoding distkey sortkey notnull channels channel_id numeric(38,18) none true 1 true customers cust_id numeric(38,18) none false 4 true customers cust_gender character(2) none false 1 true 135

140 7단계: AWS DMS 복제 인스턴스 생성 customers cust_year_of_birth 3 true customers cust_marital_status 2 false products prod_id 4 true products prod_subcategory 3 true products prod_category 2 true products prod_status 1 true promotions promo_id 1 true sales prod_id 4 true sales cust_id 3 true sales time_id 1 true sales channel_id 2 true sales promo_id 5 true smallint none false character varying(40) none false integer none true character varying(100) none false character varying(100) none false character varying(40) none false integer none true numeric(38,18) none false numeric(38,18) none false timestamp without time zone none true numeric(38,18) none false numeric(38,18) none false 7단계: AWS DMS 복제 인스턴스 생성 앞의 설명과 같이 원본과 대상 데이터베이스에서 스키마 구조를 검증한 후 이 연습의 핵심 부분인 데이터 마 이그레이션으로 진행합니다. 다음 그림은 마이그레이션 프로세스의 상위 수준 보기를 보여줍니다. DMS 복제 인스턴스는 원본과 대상 간에 실제 데이터 마이그레이션을 수행합니다. 복제 인스턴스도 마이그 레이션 중에 트랜잭션 로그를 캐시합니다. 복제 인스턴스가 갖는 CPU와 메모리 용량은 마이그레이션에 필 요한 전체 시간에 영향을 줍니다. AWS DMS 복제 인스턴스를 생성하려면 AWS Management Console에 로그인한 후 AWS DMS 콘솔 을 열고, [Create Migration]을 선택합니다. AWS Identity and Access Management(IAM) 사용자로 로그 인한 경우 AWS DMS에 액세스하기 위한 적절한 권한이 있어야 합니다. 필요한 권한에 대한 자세한 내 용은 AWS DMS 사용에 필요한 IAM 권한을 참조하십시오. [Create migration]를 선택하여 데이터베이스 마이그레이션을 시작합니다. [Welcome] 페이지에서 [Next]를 선택합니다. [Create replication instance] 페이지에서 다음과 같이 복제 인스턴스 정보를 지정합니다. 이 파라미터의 경우... 수행할 작업 이름 [DMSdemo-repserver]를 입력합니다. 136

141 8단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. 5. 이 파라미터의 경우... 수행할 작업 설명 DMS 데데 데데 데데와 같은 간략한 설명을 입력합니다. 인스턴스 클래스 [dms.t2.medium]을 선택합니다. 이 인스턴스 클래스는 작은 테이블 집합을 마이그레이션하기에 충분히 큽니다. VPC CloudFormation 스택에서 생성된 VPC인 OracletoRedshiftusingDMS를 선택합니다. 다중 AZ [No]를 선택합니다. [Publicly accessible] 이 항목을 선택한 상태로 둡니다. [Advanced] 섹션에서 기본 설정은 그대로 두고, [Next: Tag Instance]를 선택합니다. 8단계: AWS DMS 원본과 대상 엔드포인트를 생성합니 다. 복제 인스턴스가 생성되는 동안 AWS Management Console을 사용하여 원본과 대상 데이터베이스 엔드포 인트를 지정할 수 있습니다. 그렇지만, 복제 인스턴스는 연결에 사용되기 때문에 복제 인스턴스가 생성된 후 에는 연결을 테스트만할 수 있습니다. AWS 콘솔을 사용하여 원본 또는 대상 데이터베이스 엔드포인트를 지정하려면 1. 원본 Oracle 데이터베이스와 대상 Amazon Redshift 데이터베이스에 대한 연결 정보를 지정합니다. 다음 표는 원본 설정에 대한 설명입니다. 이 파라미터의 경우... 수행할 작업 [Endpoint Identifier] Orasource(Amazon RDS Oracle 엔드포인트)를 입력합니 다. 소스 엔진 [oracle]을 선택합니다. [Server name] Oracle DB 인스턴스 이름을 입력합니다. 이 이름은 "abc abc uswest-2.rds.amazonaws.com"와 같이 AWS SCT에서 사용한 [Server name] 값입니다. Port [1521]을 입력합니다. [SSL mode] [None]을 선택합니다. 사용자명 oraadmin을 입력합니다. 비밀번호 oraadmin123을 입력합니다. SID ORCL을 입력합니다. 다음 표는 대상 설정에 대한 설명입니다. 137

142 8단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. 이 파라미터의 경우... 수행할 작업 [Endpoint Identifier] Redshifttarget(Amazon Redshift 엔드포인트)를 입력합 니다. [Target Engine] Redshift를 선택합니다. [Servername ] Amazon Redshift DB 인스턴스 이름을 입력합니다. 이 이름은 "oracletoredshiftdwusingdmsredshiftcluster-abc abc uswest-2.redshift.amazonaws.com"와 같이 AWS SCT 에 사용된 [Server name] 값입니다.. Port [5439]을 입력합니다. [SSL mode] [None]을 선택합니다. 사용자명 redshiftadmin을 입력합니다. [Password] Redshift데123을 입력합니다. 데이터베이스 이름 [test]를 입력합니다. 완료한 페이지는 다음과 같아야 합니다. 138

143 8단계: AWS DMS 원본과 대상 엔드포인트를 생성합니다. 2. [Replication instance created successfully.] 상태가 표시될 때가지 기다립니다. 3. 원본과 대상 연결을 테스트하려면, 원본과 대상 연결에서 [Run Test]를 선택합니다. 4. [Next]를 선택합니다. 139

144 9단계: AWS DMS 마이그레이션 작업 생성 및 실행 9단계: AWS DMS 마이그레이션 작업 생성 및 실행 AWS DMS 작업을 사용하여 마이그레이션할 스키마와 마이그레이션 유형을 지정할 수 있습니다. 기존 데이 터를 마이그레이션하거나, 지속적 변경 사항을 복제하거나, 또는 데이터 변경 사항만 복제할 수 있습니다. 이 연습에서는 기존 데이터만을 마이그레이션합니다. 마이그레이션 작업을 생성하려면 1. [Create Task] 페이지에서 작업 옵션을 지정합니다. 다음 표는 설정에 대한 설명입니다. 이 파라미터의 경우... 수행할 작업 [Task name] migrateshschema를 입력합니다. 복제 인스턴스 DMSdemo-repserver(이전 단계에서 생성한 AWS DMS 복제 인스턴스)를 보여줍니다. [Source endpoint] orasource(oracle 엔드포인트용 Amazon RDS)를 표시합 니다. [Target endpoint] redshifttarget(amazon Redshift 엔드포인트)를 표시합 니다. [Migration type] [Migrate existing data] 옵션을 선택합니다. [Start task on create] 이 옵션을 선택합니다. 이 페이지는 다음과 같이 보여야 합니다. 140

145 9단계: AWS DMS 마이그레이션 작업 생성 및 실행 2. [Task Settings] 섹션에서 다음 표에서와 같이 설정을 지정합니다. 이 파라미터의 경우... 수행할 작업 [Target table preparation mode] [Do nothing]을 선택합니다. [Include LOB columns in replication] [Limited LOB mode]를 선택합니다. [Max LOB size (kb)] 기본값(32)을 수락합니다. 이 섹션은 다음과 같아야 합니다. 141

146 9단계: AWS DMS 마이그레이션 작업 생성 및 실행 3. [Selection rules] 섹션에서 다음 표에서와 같이 설정을 지정합니다. 이 파라미터의 경우... 수행할 작업 스키마 이름 [Enter a schema]를 선택합니다. 스키마 이름의 형식 [SH%]를 입력합니다. 테이블 이름의 형식 Type %. Action [Include]를 선택합니다. 이 섹션은 다음과 같아야 합니다. 142

147 9단계: AWS DMS 마이그레이션 작업 생성 및 실행 4. [Add selection rule]을 선택합니다. 5. [Create task]를 선택합니다. 5. [Create task]를 선택합니다. 작업이 즉시 시작됩니다. [Tasks] 섹션에는 마이그레이션 작업 상태가 나타납 니다. 143

148 10단계: AWS DMS 마이그레이션 이 성공적으로 완료되었는지 확인 10단계: AWS DMS 마이그레이션이 성공적으로 완료되 었는지 확인 마이그레이션 작업이 완료되면, 작업 결과를 예상 결과와 비교할 수 있습니다. 마이그레이션 작업 결과를 예상 결과와 비교하려면 1. 탐색 창에서 [Tasks]를 선택합니다. 2. 마이그레이션 작업(migrateSHschema)을 선택합니다. 3. 다음 그림과 같이 [Table statistics] 탭을 선택합니다. 144

149 10단계: AWS DMS 마이그레이션 이 성공적으로 완료되었는지 확인 4. SQL Workbench/J를 사용하여 Amazon Redshift 인스턴스에 연결하고 나서 데이터베이스 테이블을 Oracle에서 Amazon Redshift로 마이그레이션했는지 여부를 확인하기 위해 다음 그림과 같이 SQL 스크 립트를 실행합니다. select "table", tbl_rows from svv_table_info where SCHEMA = 'sh' 145

150 11단계: 연습 리소스 삭제 order by 1; 결과는 다음과 비슷한 모습이어야 합니다. table tbl_rows channels 5 customers 8 products 66 promotions 503 sales 이전 쿼리의 테이블 출력과 행 수가 RDS Oracle에서 예상한 수치와 일치하는지 확인하기 위해, 이전 단 계의 결과와 현재 결과를 비교합니다. 6. 다음 쿼리를 실행하여 테이블에서 관계를 확인합니다. 이 쿼리는 10명이 넘는 직원이 있는 부서를 확인 합니다. Select b.channel_desc,count(*) from SH.SALES a,sh.channels b where a.channel_id=b.channel_id group by b.channel_desc order by 1; 이 쿼리는 다음과 비슷한 내용을 출력해야 합니다. channel_desc count Direct Sales 355 Internet 26 Partners 열 압축 인코딩 확인 DMS는 Amazon Redshift COPY 작업을 사용하여 데이터를 로드합니다. 기본적으로 빈 대상 테이블에 로드할 때마다 COPY 명령은 자동 압축을 적용합니다. 이 연습의 샘플 데이터는 자동 압축을 적용할 수 있을 만큼 충분히 크지 않습니다. 큰 데이터 집합을 마이그레이션할 때 COPY는 자동 압축을 적용합니 다. Amazon Redshift 테이블에서 자동 압축에 대한 자세한 내용은 자동 압축을 사용한 테이블 로드를 참조 하십시오. 압축 인코딩을 보려면, 다음 쿼리를 실행합니다. SELECT * FROM pg_table_def WHERE schemaname = 'sh ; 이제 Oracle DB 인스턴스용 Amazon RDS에서 Amazon Redshift로의 데이터베이스 마이그레이션을 완료했 습니다. 11단계: 연습 리소스 삭제 이 연습을 완료한 뒤에는 다음 단계를 수행하여 이 연습에서 사용된 추가 AWS 리소스에 요금이 부과되지 않 도록 다음 단계를 수행합니다. 일부 리소스가 다른 리소스에 대한 종속성이 있는 경우 이 리소스는 삭제할 수 없기 때문에 단계를 순서대로 수행해야 합니다. 146

151 다음 단계 AWS DMS 리소스를 삭제하려면 탐색 창에서 [Tasks]를 선택하고, 마이그레이션 작업(migratehrschema)을 선택한 후 [Delete]를 선택 합니다. 탐색 창에서 [Endpoints]를 선택하고, Oracle 소스 엔드포인트(orasource)를 선택하고 나서 [Delete]를 선택합니다. Amazon Redshift 대상 엔드포인트(redshifttarget)를 선택하고 나서 [Delete]를 선택합니다. 탐색 창에서 [Replication instances]를 선택하고, 복제 인스턴스(DMSdemo-repserver)를 선택하고 나 서 [Delete]를 선택합니다. 그런 다음 AWS CloudFormation 스택 DMSdemo를 삭제해야 합니다. AWS CloudFormation 스택을 삭제하려면 1. AWS Management 콘솔에 로그인한 다음 AWS CloudFormation 콘솔을 엽니다. 2. IAM 사용자로 로그인한 경우 AWS CloudFormation에 액세스하기 위한 적절한 권한이 있어야 합니다. CloudFormation 스택 OracletoRedshiftDWusingDMS를 선택합니다. 3. [ Actions]에서 [Delete stack]을 선택합니다. 스택 상태가 DELETE_IN_PROGRESS로 바뀌고, AWS CloudFormation이 OracletoRedshiftDWusingDMS 스택과 관련된 리소스를 정리합니다. AWS CloudFormation이 리소스 정 리를 마치면 목록에서 스택을 제거합니다. 다음 단계 다음 기능을 포함하여 이 연습에 포함되지 않은 AWS DMS의 다른 여러 기능을 살펴볼 수 있습니다. 데이터의 지속적 복제를 위한 AWS DMS 변경 데이터 캡처(CDC) 기능입니다. 마이그레이션 프로세스의 일부로서 변환을 지정하고 선택한 스키마에 적용할 수 있는 변환 작업입니다. 자세한 내용은 the AWS DMS 설명서를 참조하십시오. 참조 다음 설명서와 샘플 스키마는 이 연습에서 참조로서 유용할 수 있습니다. AWS DMS 설명서 AWS SCT 설명서 Amazon Redshift 설명서 SH 스키마를 빌드하는 SQL 문 AWS CloudFormation 템플릿 Oracle 샘플 스키마 147

152 MySQL 호환 데이터베이스를 AWS로 마이그레이션 Amazon Web Services(AWS)에는 AWS에서 MySQL 호환 데이터베이스를 실행할 수 있는 다양한 서비스가 마련되어 있습니다. Amazon Relational Database Service(Amazon RDS)는 MySQL, MariaDB 및 Amazon Aurora MySQL 등 MySQL 호환 데이터베이스를 지원합니다. AWS Elastic Cloud Computing Service(EC2)는 MySQL 호환 데이터베이스를 실행하는 플랫폼입니다. 마이그레이션 원본 솔루션 RDS MySQL DB 인스턴스 Amazon RDS MySQL DB 스냅샷의 데이터를 Amazon Aurora MySQL DB 클러스터로 직접 마이그레이션할 수 있습니다. 자세한 내용은 Amazon RDS MySQL DB 인스턴스에서 Amazon Aurora MySQL DB 클 러스터로 데이터 마이그레이션 (p. 159) 단원을 참조하십시오. Amazon RDS 외부의 MySQL 데이터베이스 InnoDB 또는 MyISAM 테이블스페이스를 지원하는 데이터베이스인 경 우, 다음과 같은 옵션으로 데이터를 Amazon Aurora MySQL DB 클러스 터로 마이그레이션할 수 있습니다. mysqldump 유틸리티로 데이터 덤프를 만들고 그 데이터를 기존 Amazon Aurora MySQL DB 클러스터로 가져올 수 있습니다. 데이터베이스에서 Amazon S3(S3) 버킷으로 원본 파일을 복사한 다음 해당 파일에서 Amazon Aurora MySQL DB 클러스터를 복원할 수 있 습니다. mysqldump를 사용하여 데이터를 마이그레이션하는 것보다 이 방법이 훨씬 더 빠를 것입니다. 자세한 내용은 mysqldump를 사용하여 MySQL에서 Amazon Aurora MySQL로 마이그레이션 (p. 159) 단원을 참조하십시오. MySQL과 호환되지 않는 데이 터베이스 (AWS DMS)를 사용하여 MySQL 데이터베이스의 데이터를 마이그레이션할 수도 있습니다. 그러나 크기가 매우 큰 데이터베이스의 경우, Amazon S3를 사용하여 외부 MySQL 데이터베이스의 데이터를 Amazon Aurora MySQL로 마이그레 이션 (p. 149)의 설명과 같이 데이터베이스의 소스 파일을 복사한 다음 해당 파일을 Amazon Aurora MySQL DB 인스턴스로 복원하면 데이터 마이그레이션 시간을 대폭 줄일 수 있습니다. AWS DMS에 대한 자세한 내용은 AWS 데이터베이스 마이그레이션 서 비스란 무엇입니까?를 참조하십시오. 148

153 Amazon S3를 사용하여 외부 MySQL 데이터베이스 의 데이터를 Amazon Aurora MySQL로 마이그레이션 MySQL 호환 데이터베이스를 Amazon Aurora MySQL로 마이그레 이션 InnoDB 또는 MyISAM 테이블스페이스를 지원하는 데이터베이스인 경우, 다음과 같은 옵션으로 데이터를 Amazon Aurora MySQL DB 클러스터로 마이그레이션할 수 있습니다. mysqldump 유틸리티로 데이터 덤프를 만들고 그 데이터를 기존 Amazon Aurora MySQL DB 클러스터로 가져올 수 있습니다. 자세한 내용은 mysqldump를 사용하여 MySQL에서 Amazon Aurora MySQL로 마이 그레이션 (p. 159) 단원을 참조하십시오. 데이터베이스에서 S3 버킷으로 소스 파일을 복사한 다음 해당 파일에서 Amazon Aurora MySQL DB 클러 스터를 복원할 수 있습니다. mysqldump를 사용하여 데이터를 마이그레이션하는 것보다 이 방법이 훨씬 더 빠를 것입니다. 자세한 내용은 Amazon S3를 사용하여 외부 MySQL 데이터베이스의 데이터를 Amazon Aurora MySQL로 마이그레이션 (p. 149) 단원을 참조하십시오. Amazon S3를 사용하여 외부 MySQL 데이터베이스 의 데이터를 Amazon Aurora MySQL로 마이그레이 션 소스 MySQL 버전 5.5 또는 5.6 데이터베이스에서 S3 버킷으로 소스 파일을 복사한 다음 해당 파일에서 Amazon Aurora MySQL DB 클러스터를 복원할 수 있습니다. mysqldump를 사용하여 데이터를 마이그레이션하는 것보다 이 옵션이 훨씬 더 빠를 수 있습니다. mysqldump를 사용하면 모든 명령을 다시 실행하여 소스 데이터베이스의 스키마와 데이터를 새 Amazon Aurora MySQL DB 클러스터에 다시 만들기 때문입니다. Amazon Aurora MySQL에서는 소스 MySQL 데이 터 파일을 복사하는 즉시 그 파일을 DB 클러스터의 데이터로 사용할 수 있습니다. Note 아시아 태평양(뭄바이) 리전에서는 S3 버킷의 백업 파일에서 Amazon Aurora MySQL DB 클러스터 를 복원하는 방법을 사용할 수 없습니다. Amazon Aurora MySQL가 데이터베이스에서 모든 것을 복원하는 것은 아닙니다. 소스 MySQL 또는 MariaDB 데이터베이스에서 다음 항목의 데이터베이스 스키마와 값을 저장한 다음, 복원한 Amazon Aurora MySQL DB 클러스터가 생성되면 여기에 추가해야 합니다. 사용자 계정 함수 저장 프로시저 시간대 정보. 시간대 정보는 Amazon Aurora MySQL DB 클러스터의 로컬 운영 체제에서 로드됩니다. 사전 조건 데이터를 S3 버킷으로 복사하고 그 파일로 DB 클러스터를 복원하려면 먼저 다음과 같이 해야 합니다. 149

154 사전 조건 로컬 서버에 Percona XtraBackup을 설치합니다. Amazon Aurora MySQL가 사용자의 S3 버킷에 대신 액세스할 수 있도록 허용합니다. Percona XtraBackup 설치 Amazon Aurora MySQL는 Percona XtraBackup을 사용하여 만든 파일로 DB 클러스터를 복원할 수 있습 니다. Percona 웹 사이트( Percona XtraBackup을 설치하십시오. 필요한 권한 MySQL 데이터를 Amazon Aurora MySQL DB 클러스터로 마이그레이션하려면 몇 가지 권한이 필요합니다. Amazon RDS에서 S3 버킷으로 새 클러스터를 만들도록 요청하는 사용자는 AWS 계정의 버킷을 나열할 권한이 있어야 합니다. 사용자에게 이러한 권한을 부여하려면 AWS Identity and Access Management(IAM) 정책을 사용합니다. Amazon RDS는 Amazon Aurora MySQL DB 클러스터를 만들 때 사용된 파일을 저장해 둔 S3 버킷에 대신 액세스하기 위해 권한을 요구합니다. IAM 서비스 역할을 사용하여 Amazon RDS에 필요한 권한을 부여합 니다. 요청한 사용자에게는 AWS 계정의 IAM 역할을 나열할 권한도 있어야 합니다. 요청한 사용자가 IAM 서비스 역할을 만들거나 Amazon RDS에 IAM 서비스 역할 생성(콘솔 사용)을 요청하 기 위해서는 AWS 계정의 IAM 역할을 만들 권한이 그 사용자에게 있어야 합니다. 예를 들어, 다음 IAM 정책은 콘솔을 사용하여 IAM 역할을 나열하고, IAM 역할을 만들고, 해당 계정의 S3 버 킷을 나열하는 데 필요한 최소한의 권한을 사용자에게 부여합니다. { } "Version": " ", "Statement": [ { "Effect": "Allow", "Action": [ "iam:listroles", "iam:createrole", "iam:createpolicy", "iam:attachrolepolicy", "s3:listbucket", "s3:listobjects" ], "Resource": "*" } ] 또한 사용자가 IAM 역할을 S3 버킷과 연결하려는 경우, IAM 사용자에게 해당 IAM 역할에 대한 iam:passrole 권한이 있어야 합니다. 관리자는 이 권한으로 사용자가 S3 버킷에 연결할 수 있는 IAM 역할 을 제한하게 됩니다. 예를 들어 다음 IAM 정책은사용자가 S3Access라는 역할을 S3 버킷과 연결할 수 있도록 허용합니다. { "Version":" ", "Statement":[ { "Sid":"AllowS3AccessRole", "Effect":"Allow", "Action":"iam:PassRole", 150

155 사전 조건 } ] } "Resource":"arn:aws:iam:: :role/S3Access" IAM 서비스 역할 생성 [Create a New Role] 옵션을 선택하여 Amazon RDS Management Console에서 역할을 만들도록 할 수 있습 니다(이 주제 후반부에서 설명). 이 옵션을 선택하고 새 역할의 이름을 지정하면 Amazon RDS가 그 이름으로 S3 버킷에 액세스하는 데 필요한 IAM 서비스 역할을Amazon RDS 만듭니다. 또는 다음 절차에 따라 수동으로 역할을 만들 수도 있습니다. Amazon RDS가 S3에 액세스할 수 있도록 IAM 역할을 만들려면 1. AWS Management 콘솔에 로그인한 다음 IAM 콘솔을 엽니 다. 2. 왼쪽 탐색 창에서 [Roles(역할)]를 선택합니다. 3. [Create New Role]을 선택하고 새 역할에 대해 [Role Name] 값을 지정한 다음 [Next Step]을 선택합니 다. 4. [AWS Service Roles]에서 [Amazon RDS]를 찾아 [Select]를 선택합니다. 5. [Attach Policy] 단계에서 연결할 정책을 선택하지 않습니다. 그 대신 [Next Step]을 선택합니다 역할 정보를 검토한 후 [Create Role]을 선택합니다. 역할 목록에서 새로 만든 역할의 이름을 선택합니다. [Permissions] 탭을 선택합니다. 8. [Inline Policies]를 선택합니다. 새 역할에는 정책이 연결되어 있지 않기 때문에 정책을 만들라는 메시지 가 나타납니다. 링크를 클릭하여 새 정책을 만듭니다. 9. [Set Permissions] 페이지에서 [Custom Policy]와 [Select]를 차례로 선택합니다. 10. [Policy Name]을 S3-bucket-policy와 같이 입력합니다. [Policy Document]에 대해 다음 코드를 추가 하여 <bucket name>을 액세스를 허용할 S3 버킷 이름으로 바꿉니다. 파일 이름 접두사를 정책 문서의 일부분으로 포함시킬 수도 있습니다. 접두사를 지정하는 경우, Amazon Aurora MySQL는 S3 버킷에서 지정된 접두사로 시작되는 파일을 사용하여 DB 클러스터를 만듭니다. 접 두사를 지정하지 않는 경우, Amazon Aurora MySQL는 S3 버킷의 모든 파일을 사용하여 DB 클러스터를 만듭니다. 접두사를 지정하려면 아래의 <prefix>를 파일 이름의 접두사로 바꿉니다. 접두사 뒤에 별표(*)를 붙이 십시오. 접두사를 지정하지 않으려면 별표만 지정하면 됩니다. { "Version": " ", "Statement": [ { "Effect": "Allow", "Action": [ "s3:listbucket", "s3:getbucketlocation" ], "Resource": [ "arn:aws:s3:::<bucket name>" ] }, { "Effect": "Allow", "Action": [ "s3:getobject" ], "Resource": [ "arn:aws:s3:::<bucket name>/<prefix>*" 151

156 1단계: DB 클러스터로 복원할 파일 백업 } ] } ] 11. [Apply Policy]를 선택합니다. 1단계: DB 클러스터로 복원할 파일 백업 S3에서 복원하여 Amazon Aurora MySQL DB 클러스터를 만들 수 있는 MySQL 데이터베이스 파일의 백업을 만들려면 Percona Xtrabackup 유틸리티(innobackupex)를 사용하여 데이터베이스를 백업합니다. 예를 들어, 다음 명령을 실행하면 MySQL 데이터베이스 백업을 만들고 /s3-restore/backup 폴더에 백업 파일을 저장합니다. innobackupex --user=myuser --password=<password> --no-timestamp /s3-restore/backup 백업을 파일 하나로 압축하려면(필요하면 분할 가능) --stream 옵션을 사용하여 다음 형식 중 하나로 백업 을 저장하면 됩니다. Gzip(.gz) tar(.tar) Percona xbstream(.xbstream) 예를 들어 다음 명령을 실행하면 Gzip 파일 여러 개로 된 MySQL 데이터베이스 백업이 만들어집니다. 표시되 는 파라미터 값은 작은 테스트 데이터베이스용이므로, 자신의 해당 시나리오에 필요한 파라미터 값을 결정합 니다. innobackupex --user=myuser --password=<password> --stream=tar \ /mydata/s3-restore/backup split -d --bytes= \ - /mydata/s3-restore/backup3/backup.tar.gz 예를 들어 다음 명령을 실행하면 tar 파일 여러 개로 된 MySQL 데이터베이스 백업이 만들어집니다. innobackupex --user=myuser --password=<password> --stream=tar \ /mydata/s3-restore/backup split -d --bytes= \ - /mydata/s3-restore/backup3/backup.tar 예를 들어 다음 명령을 실행하면 xbstream 파일 여러 개로 된 MySQL 데이터베이스 백업이 만들어집니다. innobackupex --stream=xbstream \ /mydata/s3-restore/backup split -d --bytes= \ - /mydata/s3-restore/backup/backup.xbstream S3는 버킷에 업로드되는 파일 크기를 5TB(테라바이트)로 제한합니다. 데이터베이스의 백업 데이터가 5TB를 초과하는 경우, split 명령을 사용하여 백업 파일을 각각 5TB 미만의 파일 여러 개로 나누어야 합니다. Amazon Aurora MySQL에서는 Percona Xtrabackup을 사용하여 부분 백업을 만들 수 없습니다. 데이터베이 스의 소스 파일을 백업할 때 --include, --tables-file 또는 --databases 옵션을 사용하여 부분 백업 을 만들 수 없습니다. 자세한 내용은 innobackupex 스크립트을(를) 참조하십시오. Amazon Aurora MySQL는 파일 이름을 기준으로 백업 파일을 사용합니다. 파일 형식에 따라 백업 파일의 이름에 적절한 파일 확장명을 지정해야 합니다. 예를 들어, Percona xbstream 형식으로 저장된 파일에는.xbstream을 지정합니다. 152

157 2단계: Amazon S3 버킷에 파일 복사 Amazon Aurora MySQL는 자연적인 번호 순서뿐 아니라 알파벳 순서로도 백업 파일을 사용합니다. innobackupex 명령을 실행할 때는 항상 split 옵션을 사용하여 적절한 순서로 백업 파일을 작성하고 이 름을 붙여야 합니다. 2단계: Amazon S3 버킷에 파일 복사 Percona Xtrabackup 유틸리티를 사용하여 MySQL 데이터베이스를 백업한 뒤에는 백업 파일을 S3 버킷으로 복사할 수 있습니다. 파일을 만들고 S3 버킷에 업로드하는 방법에 대한 자세한 내용은 Amazon S3 Getting Started Guide의 Getting Started with Amazon Simple Storage Service을(를) 참조하십시오. 3단계: S3 버킷에서 Aurora MySQL DB 클러스터 복원 Amazon RDS 콘솔에서 Amazon S3 버킷의 백업 파일을 복원하여 새로운 Amazon Aurora MySQL DB 클러 스터를 만들 수 있습니다. S3 버킷의 파일로 Amazon Aurora MySQL DB 클러스터를 복원하려면 1. AWS Management 콘솔에 로그인한 다음 Amazon RDS 콘솔 을 엽니다. 2. RDS 대시보드에서 [Restore Aurora MySQL DB Cluster from S3]를 선택합니다. 3. [Specify Source Backup Details]에서 다음을 지정합니다. 옵션 수행할 작업 소스 엔진 Amazon Aurora MySQL는 현재 mysql 데이터베이스 엔진 에 대해서만 백업 파일로 복원하는 것을 지원합니다. [Source Engine Version] 백업 파일을 만들었던 MySQL 데이터베이스의 버전을 지정 합니다(예: ). MySQL 버전 5.5 및 5.6가 지원됩니다. [Select S3 Bucket] 백업 파일이 저장되어 있는 S3 버킷을 선택합니다. [S3 Bucket Prefix (Optional)] S3 버킷에 저장된 파일의 파일 경로 접두사를 지정합니다. [S3 Bucket Prefix]는 선택 사항입니다. 접두사를 지정하지 않는 경우, Amazon Aurora MySQL는 S3 버킷의 루트 폴더 에 있는 모든 파일을 사용하여 DB 클러스터를 만듭니다. 접 두사를 지정하는 경우, Amazon Aurora MySQL는 S3 버킷에 서 지정된 접두사로 전체 경로가 시작되는 파일을 사용하여 DB 클러스터를 만듭니다. Amazon Aurora MySQL는 백업 파일을 찾기 위해 S3 버킷의 하위 폴더를 탐색하지 않습니다. [S3 버킷 접두사]로 확인된 폴더의 파일만 사용합니다. S3 버킷의 하위 폴더에 백업 파 일을 저장하는 경우, 파일이 저장되어 있는 폴더의 전체 경 로를 나타내는 접두사를 지정해야 합니다. 예를 들어 S3 버킷의 backups 하위 폴더에 백업 파일 을 저장했고 여러 세트의 백업 파일이 각각 자체 디렉터 리(gzip_backup1, gzip_backup2 등)에 들어 있는 경 우, gzip_backup1 폴더의 파일로 복원하려면 접두사 backups/gzip_backup1을 지정해야 할 것입니다. [IAM Role] Amazon Aurora MySQL가 S3에 대신 액세스할 수 있도록 승 인하기 위해 만든 IAM 역할을 선택합니다. IAM 역할을 아직 153

158 3단계: S3 버킷에서 Aurora MySQL DB 클러스터 복원 옵션 수행할 작업 만들지 않았다면 [Create a New Role]을 선택하여 만들 수 있습니다. 4. [Next Step(다음 단계)]을 클릭합니다. 5. [Specify DB Details] 페이지에서 DB 클러스터 정보를 지정합니다. 다음 표는 DB 인스턴스 설정을 나타 냅니다. 옵션 수행할 작업 DB 인스턴스 클래스 DB 클러스터의 각 인스턴스 처리 및 메모리 요건을 정의 한 DB 인스턴스 클래스를 선택합니다. Aurora MySQL 는 db.r3.large, db.r3.xlarge, db.r3.2xlarge, db.r3.4xlarge 및 db.r3.8xlarge DB 인스턴스 클래스 를 지원합니다. 모든 DB 인스턴스 클래스 옵션에 대한 자세 한 내용은 Amazon RDS 설명서를 참조하십시오. 다중 AZ 배포 장애 조치 지원을 위해 다른 가용 영역에서 Aurora MySQL 복제본을 생성할지 여부를 결정합니다. 다중 가용 영역 작업 에 대한 자세한 내용은 Amazon RDS 설명서를 참조하십시 오. DB Instance Identifier DB 클러스터의 기본 인스턴스 이름을 입력합니다. 이 식별 자는 DB 클러스터의 기본 인스턴스의 엔드포인트 주소로 사 용됩니다. DB 인스턴스 식별자는 다음과 같은 제약 조건이 있습니다. 1~63자의 영숫자 문자 또는 하이픈으로 구성되어야 합니 다. 첫 번째 문자는 글자이어야 합니다. 하이픈으로 끝나거나 하이픈이 2개 연속으로 이어져서는 안 됩니다. 각 리전별로 AWS 계정 1개의 모든 DB 인스턴스는 고유해 야 합니다. Master Username 영숫자 문자를 사용해 DB 클러스터에 로그인하기 위 해 마스터 사용자 이름으로 사용할 이름을 입력합니다. 마스터 사용자 이름 계정에 기본적으로 부여되는 권한 은 다음과 같습니다. create, drop, references, event, alter, delete, index, insert, select, update, create temporary tables, lock tables, trigger, create view, show view, alter routine, create routine, execute, create user, process, show databases, grant option. [Master Password] 마스터 사용자 암호로 인쇄 가능한 ASCII 문자(/, " 제 외) 8-41자를 포함하는 암호를 입력합니다. [Specify DB Details] 페이지의 일반적인 모습은 다음과 같습니다. 154

159 3단계: S3 버킷에서 Aurora MySQL DB 클러스터 복원 6. 마스터 암호를 확인한 후 [Next]를 선택합니다. 7. [Configure Advanced Settings] 페이지에서 Aurora MySQL DB 클러스터 설정을 추가로 사용자 지정할 수 있습니다. 다음 표는 DB 클러스터의 고급 설정을 나타냅니다. 옵션 수행할 작업 VPC DB 클러스터를 호스팅할 VPC를 선택합니다. Amazon RDS 에서 VPC를 생성하도록 하려면 [Create a New VPC]를 선택 합니다. 자세한 내용은 이번 주제에서 전반부 을(를) 참조하 십시오. [Subnet Group] DB 클러스터에 사용할 DB 서브넷 그룹을 선택합니다. Amazon RDS에서 DB 서브넷 그룹을 생성하게 하려면 [Create a New DB Subnet Group]을 선택합니다. 자세한 내 용은 이번 주제에서 전반부 을(를) 참조하십시오. Publicly Accessible DB 클러스터에 퍼블릭 IP 주소를 할당하려면 [Yes]를 선택 하고, 그렇지 않으면 [No]를 선택합니다. DB 클러스터의 인 스턴스는 퍼블릭과 프라이빗 DB 인스턴스를 모두 혼합하여 사용할 수 있습니다. 퍼블릭 액세스가 불가능하도록 DB 인 스턴스를 숨기는 방법에 대한 자세한 내용은 Amazon RDS 설명서를 참조하십시오. [Availability Zone] 특정 가용 영역의 지정 여부를 결정합니다. 가용 영역 작업 에 대한 자세한 내용은 Amazon RDS 설명서를 참조하십시 오. 155

160 3단계: S3 버킷에서 Aurora MySQL DB 클러스터 복원 옵션 수행할 작업 VPC Security Group(s) VPC 보안 그룹을 한 개 이상 선택하여 DB 클러스터에 대 한 네트워크 액세스를 보안합니다. Amazon RDS에서 VPC 보안 그룹을 생성하게 하려면 [Create a New VPC Security Group]을 선택합니다. 자세한 내용은 이번 주제에서 전반부 을(를) 참조하십시오. DB Cluster Identifier 선택한 리전에 속한 계정 고유의 DB 클러스터 이름을 입력 합니다. 이 식별자는 DB 클러스터에 대한 클러스터 엔드포 인트 주소로 사용됩니다. 클러스터 엔드포인트에 대한 정보 는 Amazon RDS 설명서 를 참조하십시오. DB 클러스터 식별자는 다음과 같은 제약 조건이 있습니다. 1~63자의 영숫자 문자 또는 하이픈으로 구성되어야 합니 다. 첫 번째 문자는 글자이어야 합니다. 하이픈으로 끝나거나 하이픈이 2개 연속으로 이어져서는 안 됩니다. 리전별로 모든 DB 클러스터에 대해 AWS 계정당 고유해 야 합니다. Database Name 데이터베이스의 이름을 최대 8자의 영숫자 문자로 입력합니 다. 이름을 입력하지 않으면 Amazon RDS가 DB 클러스터에 서 생성하려고 하는 데이터베이스를 생성하지 않습니다. Database Port 애플리케이션과 유틸리티가 데이터베이스에 액세스할 때 사용할 포트를 지정합니다. Aurora MySQL DB 클러스터는 MySQL 포트, 3306이 기본 포트로 지정됩니다. 일부 기업에 서는 방화벽이 기본 MySQL 포트 연결을 차단하는 경우도 있습니다. 이처럼 기업 방화벽이 기본 포트를 차단할 경우 새로운 DB 클러스터에 다른 포트를 선택해야 합니다. Parameter Group 파라미터 그룹을 선택합니다. Aurora MySQL는 사용할 수 있는 기본 파라미터 그룹이 있거나, 고유의 파라미터 그룹을 생성할 수도 있습니다. 파라미터 그룹에 대한 자세한 내용은 Amazon RDS 설명서 를 참조하십시오. Option Group 옵션 그룹을 선택합니다. Aurora MySQL는 사용할 수 있는 기본 옵션 그룹이 있거나, 고유의 옵션 그룹을 생성할 수도 있습니다. 옵션 그룹에 대한 자세한 내용은 Amazon RDS 설명서 를 참조하십시오. [Enable Encryption] 이 DB 클러스터에 대해 비활성화되어 있는 암호화를 활성화 하려면[Yes]를 선택합니다. 자세한 내용은 Amazon RDS 설 명서를 참조하십시오. Priority 인스턴스의 장애 조치 우선 순위를 선택합니다. 값을 선택하 지 않을 경우 기본값은 tier-1입니다. 기본 인스턴스 장애로 부터 복원할 때 이 우선 순위에 따라 승격할 Aurora MySQL Replicas 순서가 결정됩니다. 자세한 내용은 Amazon RDS 설명서를 참조하십시오. [Backup Retention Period] Aurora MySQL가 데이터베이스 백업 사본을 보존하는 기간 을 1~35일로 선택합니다. 백업 사본은 데이터베이스를 특정 시점으로 정확히 복원(PITR)하는 데 사용됩니다. 156

161 3단계: S3 버킷에서 Aurora MySQL DB 클러스터 복원 옵션 수행할 작업 Enable Enhanced Monitoring DB 클러스터가 실행되는 운영 체제에 대한 실시간 수집 지표를 활성화하려면 [Yes]를 선택합니다. 자세한 내용은 Amazon RDS 설명서를 참조하십시오. Granularity 이 옵션은 [Enable Enhanced Monitoring]을 [Yes]로 설정한 경우에만 사용할 수 있습니다. DB 클러스터에 대해 지표를 수집하는 간격(초)을 설정합니다. Auto Minor Version Upgrade MySQL DB 엔진의 마이너 버전 업그레이드가 있을 때 Aurora MySQL DB 클러스터가 자동으로 업그레이드를 실행 하도록 하려면 [Yes]를 선택합니다. [Auto Minor Version Upgrade] 옵션은 Amazon Aurora MySQL DB 클러스터에 대해 MySQL 엔진 마이너 버전으로 의 업그레이드에만 적용됩니다. 시스템 안정성 유지를 위한 정기 패치에는 적용되지 않습니다. 유지 관리 기간 시스템 유지 관리를 실행하는 기간을 주 단위로 선택합니다. [Configure Advanced Settings] 페이지의 일반적인 모습은 다음과 같습니다. 157

162 3단계: S3 버킷에서 Aurora MySQL DB 클러스터 복원 158

163 8. mysqldump를 사용하여 MySQL에서 Amazon Aurora MySQL로 마이그레이션 [Launch DB Instance]를 선택하여 Aurora MySQL DB 인스턴스를 실행한 다음 [Close]를 선택하여 마법 사를 닫습니다. Amazon RDS 콘솔의 DB 인터페이스 목록에 새 DB 인스턴스가 나타납니다. DB 인스턴스를 만들고 사 용할 준비가 될 때까지 DB 인스턴스의 상태는 [creating]입니다. 상태가 [available]로 변경되면 DB 클러 스터의 기본 인스턴스에 연결할 수 있습니다. DB 인스턴스 클래스와 할당된 저장소에 따라 새 인스턴스 를 사용할 수 있을 때까지 몇 분 정도 걸릴 수 있습니다. 새로 생성된 클러스터를 보려면 Amazon RDS 콘솔에서 [Clusters]를 선택합니다. 자세한 내용은 Amazon RDS 설명서를 참조하십시오. 클러스터의 포트와 엔드포인트를 기록합니다. 읽기 또는 쓰기 작업을 수행하는 애플리케이션은 모두 JDBC 및 ODBC 연결 문자열에 이 클러스터의 엔드포인트와 포트를 사용합니다. mysqldump를 사용하여 MySQL에서 Amazon Aurora MySQL로 마이그레이션 mysqldump 유틸리티로 데이터 덤프를 만들고 그 데이터를 기존 Amazon Aurora MySQL DB 클러스터로 가 져올 수 있습니다. Amazon Aurora MySQL는 MySQL과 호환되는 데이터베이스이므로 mysqldump 유틸리티를 사용하여 MySQL 또는 MariaDB 데이터베이스에서 기존의 Amazon Aurora MySQL DB 클러스터로 데이터를 복사할 수 있습니다. Amazon RDS MySQL DB 인스턴스에서 Amazon Aurora MySQL DB 클러스터로 데이터 마이그레이션 다음과 같은 방법으로 Amazon RDS 스냅샷의 데이터를 Amazon Aurora MySQL DB 클러스터로 마이그레이 션(복사)할 수 있습니다. Note Amazon Aurora MySQL는 MySQL과 호환되기 때문에 MySQL 데이터베이스와 Amazon Aurora MySQL DB 클러스터 사이에 복제를 설정하면 MySQL 데이터베이스에서 데이터를 마이그레이션할 수 있습니다. 이때 MySQL 데이터베이스에서 실행되는 MySQL 버전은 5.5 이후를 사용하는 것이 좋 습니다. 159

164 RDS MySQL 스냅샷을 Aurora MySQL로 마이그레이션 RDS MySQL 스냅샷을 Aurora MySQL로 마이그레이션 Amazon RDS MySQL DB 인스턴스의 DB 스냅샷을 마이그레이션하면 Aurora MySQL DB 클러스터를 생성 할 수 있습니다. 새로운 DB 클러스터는 원본 Amazon RDS MySQL DB 인스턴스의 데이터로 채워집니다. 이 때 DB 스냅샷은 MySQL 5.6 기반 Amazon RDS DB 인스턴스를 통해 생성한 스냅샷이어야 합니다. DB 스냅샷을 마이그레이션하는 방법은 수동과 자동이 있습니다. DB 클러스터를 생성한 후에는 옵션으로 Aurora MySQL 복제본을 생성할 수도 있습니다. 일반적으로 다음 단계를 반드시 따라야 합니다. 1. Amazon Aurora MySQL DB 클러스터에 프로비저닝할 공간 크기를 결정합니다. 자세한 내용은 Amazon RDS 설명서를 참조하십시오. 2. 콘솔을 사용하여 Amazon RDS MySQL 5.6 인스턴스의 리전에 스냅샷을 생성합니다 3. DB 스냅샷이 DB 클러스터와 동일한 리전에 속하지 않을 때는 Amazon RDS 콘솔을 사용하여 DB 스냅샷 을 해당 리전으로 복사합니다. DB 스냅샷 복사에 대한 자세한 정보는 Amazon RDS 설명서 를 참조하십 시오. 4. 콘솔을 사용하여 DB 스냅샷을 마이그레이션한 후 MySQL 5.6의 원본 DB 인스턴스와 동일한 데이터베이 스로 Amazon Aurora MySQL DB 클러스터를 생성합니다. Warning Amazon RDS는 AWS 계정마다 스냅샷 사본을 한 번에 각 리전의 스냅샷 사본 하나로 제한합니다. 필요한 공간 크기 MySQL DB 인스턴스의 스냅샷을 Aurora MySQL DB 클러스터로 마이그레이션할 때는 Aurora MySQL에서 마이그레이션 전에 Amazon EBS(Amazon Elastic Block Store) 볼륨을 사용하여 스냅샷의 데이터 형식을 결 정합니다. 마이그레이션을 위해 데이터 형식을 결정할 때 공간이 추가로 필요한 경우가 간혹 있습니다. 따라 서 데이터를 DB 클러스터로 마이그레이션할 경우, 다음과 같은 지침과 제한 사항을 준수해야 합니다. Amazon Aurora MySQL에서 64TB까지 스토리지를 지원하기는 하지만 스냅샷을 Aurora MySQL DB 클러 스터로 마이그레이션하는 프로세스는 스냅샷의 EBS 볼륨 크기로 제한됩니다. 따라서 마이그레이션할 수 있는 스냅샷의 최대 크기는 6TB입니다. MyISAM 테이블이 아니거나 압축되지 않은 테이블은 최대 크기가 6TB로 제한됩니다. MyISAM 테이블이 있는 경우 테이블을 Aurora MySQL와 호환될 테이블로 변환하기 위한 볼륨 추가 공간이 Aurora MySQL에 필요합니다. 테이블이 압축된 경우에는 Aurora MySQL 클러스터 볼륨에 저장하기 전에 압축된 테이블을 확장하기 위한 볼륨 추가 공간이 Aurora MySQL에 필요합니다. 이 추가 공간 요구 사항 때문에 MySQL DB 인스턴스에서 마이그레이션하는 MyISAM 테이블과 압축된 테이블이 크기가 3TB를 넘지 않는지 확인해야 합니다. 데이터를 Amazon Aurora MySQL로 마이그레이션하는 데 필요한 공간 크기 줄이기 데이터를 Amazon Aurora MySQL로 마이그레이션하기 전에 데이터베이스 스키마 설정을 변경할 수 있습니 다. 이렇게 수정하는 이유는 다음과 같은 경우에 도움이 되기 때문입니다. 마이그레이션 프로세스의 속도를 높이고 싶은 경우 프로비저닝에 필요한 공간을 정확히 모르는 경우 데이터 마이그레이션을 시도했지만 프로비저닝 공간 부족으로 마이그레이션이 실패한 경우 데이터베이스를 Amazon Aurora MySQL로 마이그레이션하는 프로세스를 개선하려면 다음과 같은 설정 변 경이 가능합니다. 160

165 RDS MySQL 스냅샷을 Aurora MySQL로 마이그레이션 Important 이 업데이트는 반드시 프로덕션 인스턴스가 아닌 프로덕션 데이터베이스의 스냅샷에서 새롭게 복구된 DB 인스턴스에 실행해야 합니다. 그런 다음, 새로운 DB 인스턴스의 스냅샷에서 Amazon Aurora MySQL DB 클러스터로 데이터를 마이그레이션하면 프로덕션 데이터베이스의 서비스 중단 을 방지할 수 있습니다. 테이블 유형 제한 또는 지침 MyISAM 테이블 Amazon Aurora MySQL는 InnoDB 테이블만 지원합니다. 데이터베이 스에 MyISAM 테이블이 있으면 이 테이블은 Amazon Aurora MySQL로 마이그레이션하기 전에 변환해야 합니다. 이 때, 마이그레이션 절차 중 MyISAM에서 InnoDB로 변환하려면 추가 공간이 필요합니다. 공간이 부족할 가능성을 줄이거나 마이그레이션 프로세스 속도를 높 이려면 MyISAM 테이블을 마이그레이션하기 전에 모두 InnoDB 테 이블로 변환해야 합니다. 이렇게 변환되는 InnoDB 테이블의 크기는 Amazon Aurora MySQL에서 해당 테이블에 요구하는 크기와 동일합니 다. MyISAM 테이블을 InnoDB로 변환하는 명령은 다음과 같습니다. alter table <schema>.<table_name> engine=innodb, algorithm=copy; 압축된 테이블 Amazon Aurora MySQL에서는 압축된 테이블 (ROW_FORMAT=COMPRESSED로 만든 테이블)이 지원되지 않습니다. 공간이 부족할 가능성을 줄이거나 마이그레이션 프로세스 속도 를 높이려면 ROW_FORMAT을 DEFAULT, COMPACT, DYNAMIC 또는 REDUNDANT로 설정하여 압축된 테이블을 확장합니다. 자세한 내용은 참 조하십시오. 기존 MySQL DB 인스턴스에서 다음 SQL 스크립트를 사용하면 데이터베이스에 있는 MyISAM 테이블 또는 압축된 테이블의 목록을 표시할 수 있습니다 This script examines a MySQL database for conditions that will block migrating the database into an Amazon Aurora MySQL DB. It needs to be run from an account that has read permission for the INFORMATION_SCHEMA database. -- Verify that this is a supported version of MySQL. select msg as `==> Checking current version of MySQL.` from ( select 'This script should be run on MySQL version 5.6. ' + 'Earlier versions are not supported.' as msg, cast(substring_index(version(), '.', 1) as unsigned) * cast(substring_index(substring_index(version(), '.', 2), '.', -1) as unsigned) as major_minor ) as T where major_minor <> 506; -- List MyISAM and compressed tables. Include the table size. select concat(table_schema, '.', TABLE_NAME) as `==> MyISAM or Compressed Tables`, 161

166 RDS MySQL 스냅샷을 Aurora MySQL로 마이그레이션 round(((data_length + index_length) / 1024 / 1024), 2) "Approx size (MB)" from INFORMATION_SCHEMA.TABLES where ENGINE <> 'InnoDB' and ( -- User tables TABLE_SCHEMA not in ('mysql', 'performance_schema', 'information_schema') or -- Non-standard system tables ( TABLE_SCHEMA = 'mysql' and TABLE_NAME not in ( 'columns_priv', 'db', 'event', 'func', 'general_log', 'help_category', 'help_keyword', 'help_relation', 'help_topic', 'host', 'ndb_binlog_index', 'plugin', 'proc', 'procs_priv', 'proxies_priv', 'servers', 'slow_log', 'tables_priv', 'time_zone', 'time_zone_leap_second', 'time_zone_name', 'time_zone_transition', 'time_zone_transition_type', 'user' ) ) ) or ( -- Compressed tables ROW_FORMAT = 'Compressed' ); 스크립트를 실행하면 다음 예제와 비슷한 결과를 출력합니다. 이 예제는 MyISAM에서 InnoDB로 변환해야 하는 두 개의 테이블을 보여 줍니다. 그 밖에도 출력 화면에는 각 테이블의 크기도 메가바이트(MB) 단위로 나 옵니다 ==> MyISAM or Compressed Tables Approx size (MB) test.name_table test.my_table rows in set (0.01 sec) 콘솔을 사용한 DB 스냅샷 마이그레이션하기 Amazon RDS MySQL DB 인스턴스의 DB 스냅샷을 마이그레이션하면 Aurora MySQL DB 클러스터를 생성 할 수 있습니다. 새로운 DB 클러스터는 원본 Amazon RDS MySQL DB 인스턴스의 데이터로 채워집니다. 이 때 DB 스냅샷은 MySQL 5.6 기반 Amazon RDS DB 인스턴스를 통해 생성한 스냅샷이며 암호화되지 않아야 합니다. DB 스냅샷 생성에 대한 자세한 정보는 Amazon RDS 설명서 를 참조하십시오. 데이터를 찾고자 하는 AWS 리전에 DB 스냅샷이 없을 때는 Amazon RDS 콘솔을 사용하여 DB 스냅샷을 해 당 리전으로 복사합니다. DB 스냅샷 복사에 대한 자세한 정보는 Amazon RDS 설명서 를 참조하십시오. 콘솔을 사용하여 DB 스냅샷을 마이그레이션할 경우, 콘솔에서 DB 클러스터와 기본 인스턴스 모두를 생성하 는 데 필요한 작업이 따릅니다. AWS Key Management Service(AWS KMS) 암호화 키를 사용하여 새 Aurora MySQL DB 클러스터가 "저장 상태"에서 암호화되도록 선택할 수도 있습니다. 이 옵션은 암호화되지 않은 DB 스냅샷에만 가능합니다. 콘솔을 사용하여 MySQL 5.6 DB 스냅샷을 마이그레이션하는 방법 1. AWS Management 콘솔에 로그인한 다음 Amazon RDS 콘솔 을 엽니다. 162

167 RDS MySQL 스냅샷을 Aurora MySQL로 마이그레이션 2. [Snapshots]를 선택합니다. 3. [Snapshots] 페이지에서 Aurora MySQL DB 클러스터로 마이그레이션하려는 스냅샷을 선택합니다. 4. [Migrate Database]를 선택합니다. 5. [Migrate Database] 페이지에서 다음과 같이 값을 설정합니다. DB Instance Class:: 데이터베이스에 필요한 스토리지와 용량을 가진 DB 인스턴스 클래스를 선택합 니다(예: db.r3.large). Aurora MySQL 클러스터 볼륨은 데이터베이스의 데이터가 늘어날수록 자 동으로 증가하며 최대 크기는 64테라바이트(TB)입니다. 따라서 현재 스토리지 요구 사항에 맞는 DB 인스턴스 클래스를 선택해야 합니다. [DB Instance Identifier]: 선택한 리전의 계정에 대해 고유한 DB 클러스터 이름을 입력합니다. 이 식별 자는 DB 클러스터에 속한 인스턴스의 엔드포인트 주소로 사용됩니다. 선택한 리전 및 DB 엔진을 포 함(예: aurora-cluster1)하는 등 이름에 지능적 요소를 추가할 수도 있습니다. DB 인스턴스 식별자는 다음과 같은 제약 조건이 있습니다. 1~63자의 영숫자 문자 또는 하이픈으로 구성되어야 합니다. 첫 번째 문자는 글자이어야 합니다. 하이픈으로 끝나거나 하이픈이 2개 연속으로 이어져서는 안 됩니다. AWS 리전별로 AWS 계정 하나당 모든 DB 인스턴스는 고유해야 합니다. [VPC]: 기존 VPC가 있는 경우, VPC 식별자(예: vpc-a464d1c1)를 선택하여 해당 VPC를 Amazon Aurora MySQL DB 클러스터에 사용할 수 있습니다. 기존 VPC 사용에 대한 자세한 내용은 Amazon RDS 설명서를 참조하십시오. 기존 VPC가 없다면 [Create a new VPC]를 선택하여 Amazon RDS에서 VPC를 새로 생성하도록 할 수 있습니다. [Subnet Group]: 기존 서브넷 그룹이 있으면 해당 서브넷 그룹 식별자(예: gs-subnet-group1)를 선 택하여 Amazon Aurora MySQL DB 클러스터에 그 서브넷 그룹을 사용할 수 있습니다. 163

168 RDS MySQL 스냅샷을 Aurora MySQL로 마이그레이션 기존 서브넷 그룹이 없다면 [Create a new subnet group]을 선택하여 Amazon RDS에서 서브넷 그룹 을 새로 생성하도록 할 수 있습니다. [Publicly Accessible]: VPC에 있는 리소스만 DB 클러스터의 인스턴스에 액세스할 수 있도록 하려면 [No]를 선택합니다. 퍼블릭 네트워크에 있는 리소스가 DB 클러스터의 인스턴스에 액세스할 수 있도록 하려면 [Yes]를 선택합니다. 기본값은 [Yes]입니다. Note 퍼블릭 서브넷에서는 프로덕션 DB 클러스터가 필요 없을 수도 있습니다. 애플리케이션 서버 만 DB 클러스터에 액세스하기 때문입니다. DB 클러스터가 퍼블릭 서브넷에 필요 없는 경우 에는 [Publicly Accessible]을 [No]로 설정합니다. [Availability Zone]: Aurora MySQL DB 클러스터의 기본 인스턴스를 호스팅할 가용 영역을 선택합니 다. Amazon RDS에서 가용 영역을 선택하게 하려면 [No Preference]를 선택합니다. [Database Port]: DB 클러스터의 인스턴스에 연결할 때 사용할 기본 포트를 입력합니다. 기본값은 3306입니다. Note 기업 방화벽 뒤에 있어서 MySQL 기본 포트인 3306 같은 기본 포트에 액세스하지 못할 수 도 있습니다. 이런 경우에는 기업 방화벽이 허용하는 포트 값을 입력합니다. 나중에 Aurora MySQL DB 클러스터에 연결할 때도 필요하므로 이 포트 값을 기억해야 합니다. Enable Encryption: 새 Aurora MySQL DB 클러스터를 "저장 상태"에서 암호화하려면 [Yes]를 선택합 니다. [Yes]를 선택하면 [Master Key] 값으로 AWS KMS 암호화 키를 선택해야 합니다. [Auto Minor Version Upgrade]: MySQL DB 엔진의 부 버전 업그레이드가 있을 때 Aurora MySQL DB 클러스터가 자동으로 업그레이드를 실행하도록 하려면 [Yes]를 선택합니다. [Auto Minor Version Upgrade] 옵션은 Amazon Aurora MySQL DB 클러스터에 대해 MySQL 엔진 마 이너 버전으로의 업그레이드에만 적용됩니다. 시스템 안정성 유지를 위한 정기 패치에는 적용되지 않 습니다. 164

169 RDS MySQL 스냅샷을 Aurora MySQL로 마이그레이션 165

170 RDS MySQL 스냅샷을 Aurora MySQL로 마이그레이션 6. [Migrate]를 선택하여 DB 스냅샷을 마이그레이션합니다. 7. [Instances]를 선택한 다음 화살표 아이콘을 선택하여 DB 클러스터 세부 정보를 표시하고 마이그레이션 진행 상황을 모니터링합니다. 세부 정보 페이지를 보면 DB 클러스터의 기본 인스턴스에 연결하는 데 사 용할 클러스터 엔드포인트가 표시됩니다. Amazon Aurora MySQL DB 클러스터 연결에 대한 자세한 내 용은 Amazon RDS 설명서를 참조하십시오. 166

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

AWS Database Migration Service - 사용 설명서

AWS Database Migration Service - 사용 설명서 AWS Database Migration Service 사용 설명서 AWS Database Migration Service: 사용 설명서 Copyright 2019 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

Amazon EBS (Elastic Block Storage) Amazon EC2 Local Instance Store (Ephemeral Volumes) Amazon S3 (Simple Storage Service) / Glacier Elastic File Syste (EFS) Storage Gateway AWS Import/Export 1 Instance

More information

MF Driver Installation Guide

MF Driver Installation Guide Korean MF 드라이버 설치설명서 사용자 소프트웨어 CD-ROM... 드라이버 및 소프트웨어 정보...1 지원되는 운영 체제...1 MF 드라이버 및 MF Toolbox 설치... [쉬운 설치]를 사용한 설치...2 [사용자 정의 설치]를 사용한 설치...10 USB 케이블 연결(USB를 이용해 연결하는 경우만)...20 설치 결과 확인...21 온라인

More information

IRISCard Anywhere 5

IRISCard Anywhere 5 이 빠른 사용자 가이드는 IRISCard Anywhere 5 및 IRISCard Corporate 5 스캐너의 설치와 시작을 도와 드립니다. 이 스캐너와 함께 제공되는 소프트웨어는: - Cardiris Pro 5 및 Cardiris Corporate 5 for CRM (Windows 용) - Cardiris Pro 4 (Mac OS 용) Cardiris 의

More information

ThinkVantage Fingerprint Software

ThinkVantage Fingerprint Software ThinkVantage 지문 인식 소프트웨어 First Edition (August 2005) Copyright Lenovo 2005. Portions Copyright International Business Machines Corporation 2005. All rights reserved. U.S. GOVERNMENT USERS RESTRICTED RIGHTS:

More information

vRealize Automation용 VMware Remote Console - VMware

vRealize Automation용 VMware Remote Console - VMware vrealize Automation 용 VMware Remote Console VMware Remote Console 9.0 이문서는새버전으로교체되기전까지나열된각제품버전및모든이후버전을지원합니다. 이문서에대한최신버전을확인하려면 http://www.vmware.com/kr/support/pubs 를참조하십시오. KO-002230-00 vrealize Automation

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

RHEV 2.2 인증서 만료 확인 및 갱신

RHEV 2.2 인증서 만료 확인 및 갱신 2018/09/28 03:56 1/2 목차... 1 인증서 확인... 1 인증서 종류와 확인... 4 RHEVM CA... 5 FQDN 개인 인증서... 5 레드햇 인증서 - 코드 서명 인증서... 6 호스트 인증... 7 참고사항... 8 관련링크... 8 AllThatLinux! - http://allthatlinux.com/dokuwiki/ rhev_2.2_

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

슬라이드 1

슬라이드 1 Tadpole for DB 1. 도구개요 2. 설치및실행 4. 활용예제 1. 도구개요 도구명 소개 Tadpole for DB Tools (sites.google.com/site/tadpolefordb/) 웹기반의데이터베이스를관리하는도구 Database 스키마및데이터관리 라이선스 LGPL (Lesser General Public License) 특징 주요기능

More information

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집 Modern Modern www.office.com ( ) 892 5 : 1577-9700 : http://www.microsoft.com/korea Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인 웹 확장 아키텍처는 높은 수준의 안정성을 보장하기 위해 복잡한 솔루션으로 구현

Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인 웹 확장 아키텍처는 높은 수준의 안정성을 보장하기 위해 복잡한 솔루션으로 구현 02 Web Application Hosting in the AWS Cloud www.wisen.co.kr Wisely Combine the Network platforms Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인

More information

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

PathEye 공식 블로그 다운로드 받으세요!!   지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye Mobile Ver. 0.71b 2009. 3. 17 By PathEye 공식 블로그 다운로드 받으세요!! http://blog.patheye.com 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye 설치 1/3 최종 배포 버전을 다 운로드 받습니다. 다운로드된 파일은 CAB 파일입니다. CAB 파일에는

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

Office 365, FastTrack 4 FastTrack. Tony Striefel FastTrack FastTrack

Office 365, FastTrack 4 FastTrack. Tony Striefel FastTrack FastTrack FastTrack 1 Office 365, FastTrack 4 FastTrack. Tony Striefel FastTrack FastTrack 5 11 2 FASTTRACK 소개 디지털 혁신은 여기서 시작합니다. Microsoft FastTrack은 Microsoft 클라우드를 사용하여 고객이 신속하게 비즈니스 가치를 실현하도록 돕는 고객 성공 서비스입니다.

More information

User Guide

User Guide HP ThinUpdate 관리자 설명서 Copyright 2016 HP Development Company, L.P. Windows는 미국 및/또는 기타 국가에서 Microsoft Corporation의 등록 상표 또는 상표입 니다. 기밀 컴퓨터 소프트웨어. 소유, 사용 또는 복사 에 필요한 유효한 사용권을 HP로부터 취득했 습니다. FAR 12.211 및

More information

aws

aws Amazon Web Services AWS MIGRATION MANAGED SERVICE FOR AWS 베스핀글로벌 S AWS OFFERING 베스핀글로벌과 Amazon Web Services (AWS) 가 여러분의 비즈니스에 클라우드 날개를 달아드립니다. AWS에 높은 이해도를 갖춘 베스핀글로벌의 클라우드 전문가가 다양한 산업 영역에서의 구축 경험과 노하우를

More information

10.ppt

10.ppt : SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL

More information

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft Word - windows server 2003 수동설치_non pro support_.doc Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로

More information

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리 ArcGIS for Desktop 10.4 Single Use 설치가이드 Software: ArcGIS for Desktop 10.4 Platforms: Windows 10, 8.1, 7, Server 2012, Server 2008 ArcGIS for Desktop 10.4 시스템 요구사항 1. 지원 플랫폼 운영체제 최소 OS 버전 최대 OS 버전 Windows

More information

Windows Server 2012

Windows Server  2012 Windows Server 2012 Shared Nothing Live Migration Shared Nothing Live Migration 은 SMB Live Migration 방식과다른점은 VM 데이터파일의위치입니다. Shared Nothing Live Migration 방식은 Hyper-V 호스트의로컬디스크에 VM 데이터파일이위치합니다. 반면에, SMB

More information

AWS Schema Conversion Tool - 사용 설명서

AWS Schema Conversion Tool - 사용 설명서 AWS Schema Conversion Tool 사용 설명서 AWS Schema Conversion Tool: 사용 설명서 Copyright 2018 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be

More information

희망브리지

희망브리지 Building Your First Amazon VPC V3.5 2016.10 Index 01. Overview 02. Create the base VPC 03. Launch EC2 instances 04. Manually create public & private subnet 05. Launch a bastion windows host 06. Connect

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r -------------------------------------------------------------------- -- 1. : ts_cre_bonsa.sql -- 2. :

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Spider For MySQL 실전사용기 피망플러스유닛최윤묵 Spider For MySQL Data Sharding By Spider Storage Engine http://spiderformysql.com/ 성능 8 만 / 분 X 4 대 32 만 / 분 많은 DB 중에왜 spider 를? Source: 클라우드컴퓨팅구 선택의기로 Consistency RDBMS

More information

1,000 AP 20,000 ZoneDirector IT 5, WLAN. ZoneFlex AP ZoneDirector. WLAN. WLAN AP,,,,,,., Wi-Fi. AP. PSK PC. VLAN WLAN.. ZoneDirector 5000 WLAN L

1,000 AP 20,000 ZoneDirector IT 5, WLAN. ZoneFlex AP ZoneDirector. WLAN. WLAN AP,,,,,,., Wi-Fi. AP. PSK PC. VLAN WLAN.. ZoneDirector 5000 WLAN L 1,000 AP 20,000 ZoneDirector 5000. IT 5, WLAN. ZoneFlex AP ZoneDirector. WLAN. WLAN AP,,,,,,., Wi-Fi. AP. PSK PC. VLAN WLAN.. WLAN LAN Ruckus Wireless (ZD5000),, WLAN. 20,000 2,048 WLAN ZD5000 1,000 ZoneFlex

More information

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) 8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) - DDL(Data Definition Language) : show, create, drop

More information

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P Duplicator 는기본적으로원본하드디스크를빠르게복사본하드디스크에복사하는기능을하는것입니다.. 복사본 하드디스크가원본하드디스크와똑같게하는것을목적으로하는것이어서저용량에서고용량으로복사시몇 가지문제점이발생할수있습니다. 하드디스크는사용하려면, 디스크초기화를한후에포맷을해야사용가능합니다. Windows PC는 MBR과 GPT 2 개중에 1개로초기화합니다. -Windows

More information

62

62 2 instance database physical storage 2 1 62 63 tablespace datafiles 2 2 64 1 2 logical view control files datafiles redo log files 65 2 3 9i OMF Oracle Managed Files, OMF 9i 9i / / OMF 9i 66 8 1MB 8 10MB

More information

소규모 비즈니스를 위한 플레이북 여기서 다룰 내용은 다음과 같습니다. 1. YouTube 소개 2. YouTube에서 비즈니스를 위한 채널 만들기 3. 눈길을 끄는 동영상 만들기 4. 고객의 액션 유도하기 5. 비즈니스에 중요한 잠재고객에게 더 많이 도달하기

소규모 비즈니스를 위한 플레이북 여기서 다룰 내용은 다음과 같습니다. 1. YouTube 소개 2. YouTube에서 비즈니스를 위한 채널 만들기 3. 눈길을 끄는 동영상 만들기 4. 고객의 액션 유도하기 5. 비즈니스에 중요한 잠재고객에게 더 많이 도달하기 소규모 비즈니스를 위한 YouTube 플레이북 YouTube에서 호소력 있는 동영상으로 고객과 소통하기 소규모 비즈니스를 위한 플레이북 여기서 다룰 내용은 다음과 같습니다. 1. YouTube 소개 2. YouTube에서 비즈니스를 위한 채널 만들기 3. 눈길을 끄는 동영상 만들기 4. 고객의 액션 유도하기 5. 비즈니스에 중요한 잠재고객에게 더 많이 도달하기

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

untitled

untitled PowerBuilder 連 Microsoft SQL Server database PB10.0 PB9.0 若 Microsoft SQL Server 料 database Profile MSS 料 (Microsoft SQL Server database interface) 行了 PB10.0 了 Sybase 不 Microsoft 料 了 SQL Server 料 PB10.0

More information

SIGIL 완벽입문

SIGIL 완벽입문 누구나 만드는 전자책 SIGIL 을 이용해 전자책을 만들기 EPUB 전자책이 가지는 단점 EPUB이라는 포맷과 제일 많이 비교되는 포맷은 PDF라는 포맷 입니다. EPUB이 나오기 전까지 전 세계에서 가장 많이 사용되던 전자책 포맷이고, 아직도 많이 사 용되기 때문이기도 한며, 또한 PDF는 종이책 출력을 위해서도 사용되기 때문에 종이책 VS

More information

ActFax 4.31 Local Privilege Escalation Exploit

ActFax 4.31 Local Privilege Escalation Exploit NSHC 2013. 05. 23 악성코드 분석 보고서 [ Ransomware 악성코드 ] 사용자의 컴퓨터를 강제로 잠그고 돈을 요구하는 형태의 공격이 기승을 부리고 있 습니다. 이러한 형태의 공격에 이용되는 악성코드는 Ransomware로 불리는 악성코 드 입니다. 한번 감염 시 치료절차가 복잡하며, 보고서 작성 시점을 기준으로 지속 적인 피해자가 발생되고

More information

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인 스마일서브 CLOUD_Virtual 워드프레스 설치 (WORDPRESS INSTALL) 스마일서브 가상화사업본부 Update. 2012. 09. 04. 본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게

More information

문서 템플릿

문서 템플릿 HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,

More information

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아 LG U+ SMS/MMS 통합클라이언트 LG U+ SMS/MMS Client Simple Install Manual LG U+ SMS/MMS 통합클라이언트 - 1 - 간단설치매뉴얼 1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager are trademarks or registered trademarks of Ari System, Inc. 1 Table of Contents Chapter1

More information

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로 한국어 표준 설정안내 서브 초침 시간 및 설정 1. 용두를 2의 위치로 뽑아냅니다. 2. 용두를 시계방향 또는 반시계방향으로 돌려(모델에 따라 다름) 를 전날로 설정합니다. 3. 용두를 3의 위치로 당기고 현재 가 표시될 때까지 시계방향으로 돌립니다. 4. 용두를 계속 돌려 정확한 오전/오후 시간을 설정합니다. 5. 용두를 1의 위치로 되돌립니다. 169 쓰리

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows

목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows 삼성SDS 하이패스 USB 드라이버 설치 매뉴얼 삼성SDS(주) 목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows 8에서 설치...9 2. 드라이버

More information

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi 소프트웨어공학 Tutorial #2: StarUML Eun Man Choi emchoi@dgu.ac.kr Contents l StarUML 개요 l StarUML 소개및특징 l 주요기능 l StarUML 화면소개 l StarUML 설치 l StarUML 다운 & 설치하기 l 연습 l 사용사례다이어그램그리기 l 클래스다이어그램그리기 l 순서다이어그램그리기 2

More information

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA Spotlight on Oracle V10.x DELL SOFTWARE KOREA 2016-11-15 Spotlight on Oracle 목차 1. 시스템요구사항... 2 1.1 지원하는데이터베이스...2 1.2 사용자설치홖경...2 2. 프로그램설치... 3 2.1 설치프로그램실행...3 2.2 라이선스사용관련내용확인및사용동의...3 2.3 프로그램설치경로지정...4

More information

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을 IDIS Mobile ios 사용설명서 Powered by 사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다.

More information

목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host) 서버 설정... 9 W7CLIENT (Windows 7 Client) 클라이얶트 설정

목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host) 서버 설정... 9 W7CLIENT (Windows 7 Client) 클라이얶트 설정 W2K8 R2 RemoteApp 및 Web Access 설치 및 구성 Step-By-Step 가이드 Microsoft Korea 이 동 철 부장 2009. 10 페이지 1 / 60 목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host)

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이타베이스 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2013.05.15. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

Oracle VM VirtualBox 설치 VirtualBox에서 가상머신 설치 가상머신에 Ubuntu 설치

Oracle VM VirtualBox 설치 VirtualBox에서 가상머신 설치 가상머신에 Ubuntu 설치 Oracle VM VirtualBox 설치 VirtualBox에서 가상머신 설치 가상머신에 Ubuntu 설치 VirtualBox를 사용하기 위해서는 일단 https://www.virtualbox.org/wiki/downloads 사이트에서 윈도우용 버추얼박스 설치화일을 다운로드 해야합니다. Ubuntu를 사용하기 위해서는 Ubuntu 디스크 이미지 화일을 다운로드

More information

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1 디지털 사진 프린터 P-S100 프린터 드라이버 설치 가이드 사용하는 컴퓨터에 따라 제공된 프린터 드라이버를 설치합니다. 설치 절차 에 대한 자세한 내용은 CD-ROM의 Readme 파일을 참조하십시오. 작동 환경 Windows 호환 모델: IBM PC/AT 및 호환품 운영 체제: Windows 98 SE/Me/2000/XP (Windows 98 SE/Me/2000/XP

More information

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO Windows 7 설치및 PCIE RAID 설정정보 DK173 초판 11월 2016 A. Windows 7 및 USB 드라이버설치 칩셋사양에따라 Windows 7 설치중에 USB 키보드 / 마우스를사용하려면시스템에서 USB 드라이버를사전로드해야합니다. 이절에서는 USB 드라이버사전로드방법과 Windows 7 설치방법에대해서설명합니다. 방법 1: SATA ODD

More information

Cloud Friendly System Architecture

Cloud Friendly System Architecture -Service Clients Administrator 1. -Service 구성도 : ( 좌측참고 ) LB(LoadBlancer) 2. -Service 개요 ucloud Virtual Router F/W Monitoring 개념 특징 적용가능분야 Server, WAS, DB 로구성되어 web service 를클라우드환경에서제공하기위한 service architecture

More information

arcplan Enterprise 6 Charting Facelifts

arcplan Enterprise 6 Charting Facelifts SQL Server Analysis Services Tip 잘레시아 Copyright c 2010 Zalesia Co., Ltd. Agenda I II SSAS Non-Aggregatable 측정값처리 Copyright c 2010 Zalesia Co., Ltd. 2 Copyright c 2010 Zalesia Co., Ltd. 3 STEP1: Sales 큐브를위해데이터를미리준비한다.

More information

슬라이드 1

슬라이드 1 전자정부개발프레임워크 1 일차실습 LAB 개발환경 - 1 - 실습목차 LAB 1-1 프로젝트생성실습 LAB 1-2 Code Generation 실습 LAB 1-3 DBIO 실습 ( 별첨 ) LAB 1-4 공통컴포넌트생성및조립도구실습 LAB 1-5 템플릿프로젝트생성실습 - 2 - LAB 1-1 프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper Windows Netra Blade X3-2B( Sun Netra X6270 M3 Blade) : E37790 01 2012 9 Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs,

More information

MySQL-Ch10

MySQL-Ch10 10 Chapter.,,.,, MySQL. MySQL mysqld MySQL.,. MySQL. MySQL....,.,..,,.,. UNIX, MySQL. mysqladm mysqlgrp. MySQL 608 MySQL(2/e) Chapter 10 MySQL. 10.1 (,, ). UNIX MySQL, /usr/local/mysql/var, /usr/local/mysql/data,

More information

슬라이드 1

슬라이드 1 CCS v4 사용자안내서 CCSv4 사용자용예제따라하기안내 0. CCS v4.x 사용자 - 준비사항 예제에사용된 CCS 버전은 V4..3 버전이며, CCS 버전에따라메뉴화면이조금다를수있습니다. 예제실습전준비하기 처음시작하기예제모음집 CD 를 PC 의 CD-ROM 드라이브에삽입합니다. 아래안내에따라, 예제소스와헤더파일들을 PC 에설치합니다. CD 드라이브 \SW\TIDCS\TIDCS_DSP80x.exe

More information

MS-SQL SERVER 대비 기능

MS-SQL SERVER 대비 기능 Business! ORACLE MS - SQL ORACLE MS - SQL Clustering A-Z A-F G-L M-R S-Z T-Z Microsoft EE : Works for benchmarks only CREATE VIEW Customers AS SELECT * FROM Server1.TableOwner.Customers_33 UNION ALL SELECT

More information

목 차

목      차 Oracle 9i Admim 1. Oracle RDBMS 1.1 (System Global Area:SGA) 1.1.1 (Shared Pool) 1.1.2 (Database Buffer Cache) 1.1.3 (Redo Log Buffer) 1.1.4 Java Pool Large Pool 1.2 Program Global Area (PGA) 1.3 Oracle

More information

SBR-100S User Manual

SBR-100S User Manual ( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

FileMaker 15 ODBC 및 JDBC 설명서

FileMaker 15 ODBC 및 JDBC 설명서 FileMaker 15 ODBC JDBC 2004-2016 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker, Inc... FileMaker.

More information

JDBC 소개및설치 Database Laboratory

JDBC 소개및설치 Database Laboratory JDBC 소개및설치 JDBC } What is the JDBC? } JAVA Database Connectivity 의약어 } 자바프로그램안에서 SQL 을실행하기위해데이터베이스를연결해주는응용프로그램인터페이스 } 연결된데이터베이스의종류와상관없이동일한방법으로자바가데이터베이스내에서발생하는트랜잭션을제어할수있도록하는환경을제공 2 JDBC Driver Manager }

More information

빅데이터분산컴퓨팅-5-수정

빅데이터분산컴퓨팅-5-수정 Apache Hive 빅데이터분산컴퓨팅 박영택 Apache Hive 개요 Apache Hive 는 MapReduce 기반의 High-level abstraction HiveQL은 SQL-like 언어를사용 Hadoop 클러스터에서 MapReduce 잡을생성함 Facebook 에서데이터웨어하우스를위해개발되었음 현재는오픈소스인 Apache 프로젝트 Hive 유저를위한

More information

6장. SQL

6장. SQL 학습목표 SQL이 무엇인지 개념을 설명 테이블을 생성, 변경, 제거할 할 수 있다. 수 있다. 데이터를 검색, 갱신, 삽입, 삭 제할 수 있다. 뷰, 시스템 카탈로그, 저장 프 로시저, 트리거에 대한 개념 을 설명할 수 있다. 2 목차 SECTION 01 SQL의 개요 11 SQL의 역사 12 SQL의 유형별 종류 SECTION 0 21 스키마 22 테이블

More information

VPN.hwp

VPN.hwp Linksys VPN Router RV042&RV082 VPN Router 용 VPN 터널설정 한국어사용자설명서 V1.0 Table of Content 1 Gateway to Gateway 설정... 1 STEP 1 - Gateway to Gateway 터널생성하기... 1 STEP 2 - 터널정보입력하기... 1 STEP 3 - Gateway to Gateway

More information

Install stm32cubemx and st-link utility

Install stm32cubemx and st-link utility STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7

More information

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사 IDIS Mobile Android 사용설명서 Powered by 사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사양 및 버전에 따라 일부

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

System Recovery 사용자 매뉴얼

System Recovery 사용자 매뉴얼 Samsung OS Recovery Solution 을이용하여간편하게 MagicInfo 의네트워크를설정하고시스템을백업및복원할수있습니다. 시스템시작시리모컨의 - 버튼이나키보드의 F3 키를연속해서누르면복구모드로진입한후 Samsung OS Recovery Solution 이실행됩니다. Samsung OS Recovery Solution 은키보드와리모컨을사용하여조작할수있습니다.

More information

슬라이드 제목 없음

슬라이드 제목 없음 MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS 로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS 보다가격이매우저렴한편이고,

More information

Chapter 1

Chapter 1 3 Oracle 설치 Objectives Download Oracle 11g Release 2 Install Oracle 11g Release 2 Download Oracle SQL Developer 4.0.3 Install Oracle SQL Developer 4.0.3 Create a database connection 2 Download Oracle 11g

More information

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10 (https://www.kisarbl.or.kr) < 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10 Ⅰ. 개요 실시간스팸차단리스트 (RBL) 는메일서버를운영하는누구나손쉽게효과적으로스팸수신을차단하는데이용할수있도록한국인터넷진흥원 (KISA)

More information

Cisco FirePOWER 호환성 가이드

Cisco FirePOWER 호환성 가이드 Cisco 호환성가이드 Cisco 호환성 이문서에서는 Cisco 소프트웨어와하드웨어의호환성및요건을다룹니다. 추가 릴리스또는제품정보는다음을참조하십시오. 설명서로드맵 : http://www.cisco.com/c/en/us/td/docs/security/firesight/ roadmap/firesight-roadmap.html Cisco ASA 호환성가이드 : http://www.cisco.com/c/en/us/td/docs/security/asa/compatibility/

More information

CSG_keynote_KO copy.key

CSG_keynote_KO copy.key 101. 3 Shutterstock 4 Shutterstock 5 Shutterstock? 6? 10 What To Create 10 Ways to Find Trends and Inspiration 12 15 17 :. 21 24 Shutterstock 26 29 -. 31 Shutterstock : 36 " " 37! 39 41 45 46 47 49 Copyright

More information

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드] MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS보다가격이매우저렴한편이고,

More information

슬라이드 1

슬라이드 1 Delino EVM 용처음시작하기 - 프로젝트만들기 (85) Delfino EVM 처음시작하기앞서 이예제는타겟보드와개발홖경이반드시갖추어져있어야실습이가능합니다. 타겟보드 : Delfino EVM + TMS0F85 초소형모듈 개발소프트웨어 : Code Composer Studio 4 ( 이자료에서사용된버전은 v4..입니다. ) 하드웨어장비 : TI 정식 JTAG

More information

最即時的Sybase ASE Server資料庫診斷工具

最即時的Sybase ASE Server資料庫診斷工具 TOAD 9.5 Toad Oracle 料 SQL 料 行 理 SQLprofile Quest Software 了 Oracle -Toad Tools of Oracle Application Developers Toad 了 DBA DBA 理 易 度 Toad 料 SQL PL/SQL Toad Oracle PL/SQL Toad Schema Browser Schema Browser

More information

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터 Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터를사용자에게전송하게되며 Parsing 단계에서실행계획이생성된다. Bind 변수를사용하는 SQL

More information

Business Agility () Dynamic ebusiness, RTE (Real-Time Enterprise) IT Web Services c c WE-SDS (Web Services Enabled SDS) SDS SDS Service-riented Architecture Web Services ( ) ( ) ( ) / c IT / Service- Service-

More information

B _00_Ko_p1-p51.indd

B _00_Ko_p1-p51.indd KOS-V000 B64-797-00/00 (MV) KOS-V000 설명서를 보는 방법 이 설명서에서는 삽입된 그림을 통해 작동 방법을 설명합니다. 이 설명서에 나타낸 화면과 패널은 작동 방법을 자세히 설명하는 데 이용되는 예입니다. 따라서 실제 화면이나 패널과 다르거나 일부 디 스플레이 패턴이 다를 수도 있습니다. 찾기 모드 방송국 선택 설정. TUNER

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

온라인등록용 메뉴얼

온라인등록용 메뉴얼 WIZPLAT Corporation User Manual Gigabit LAN Port + USB3.0 HUB 사용자 설명서 이번에는 Gigabit LAN Port + USB3.0 HUB 를 구입해 주셔서 대단히 감사합니다. 이 사용설명서에는 중요한 주의 사항과 제품의 취급방법이 설명되어 있습니다. 사용하기 전에 설명서를 잘 읽어 보신 후 본 제품을 바르고

More information

2 전원 코드를 연결합니다. 출력 용지함을 기기 밖으로 꺼내고 문서 스토퍼 를 펼칩니다. 중요 아직 USB 케이블을 연결하지 마십시오. 전원 코드를 연결합니다. 경고 접지된 플러그가 기기에 장착되어 있어야 합니다. 2 1 Windows 사용자: 다음으로 3페이지 상단

2 전원 코드를 연결합니다. 출력 용지함을 기기 밖으로 꺼내고 문서 스토퍼 를 펼칩니다. 중요 아직 USB 케이블을 연결하지 마십시오. 전원 코드를 연결합니다. 경고 접지된 플러그가 기기에 장착되어 있어야 합니다. 2 1 Windows 사용자: 다음으로 3페이지 상단 빠른 설정 가이드 바로 시작 ADS-2100 기기를 설정하기 전에 먼저 제품 안전 가이드를 읽은 다음 올바른 설정과 설치를 위해 이 빠른 설정 가이드를 읽어 주시기 바랍니다. 경고 경고는 피하지 않을 경우 사망에 이르거나 심각한 부상을 초래할 수 있는 잠재적으로 위험한 상 황을 나타냅니다. 1 기기 포장 풀기 및 구성품 확인 상자에 포함된 구성품은 국가에 따라

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 6.5.1.5.6 Patch Notes 목차 BUG-45643 암호화컬럼의경우, 이중화환경에서 DDL 수행시 Replication HandShake 가실패하는문제가있어수정하였습니다... 4 BUG-45652 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위조건이다른경우에 Handshake

More information

회원번호 대표자 공동자 KR000****1 권 * 영 KR000****1 박 * 순 KR000****1 박 * 애 이 * 홍 KR000****2 김 * 근 하 * 희 KR000****2 박 * 순 KR000****3 최 * 정 KR000****4 박 * 희 조 * 제

회원번호 대표자 공동자 KR000****1 권 * 영 KR000****1 박 * 순 KR000****1 박 * 애 이 * 홍 KR000****2 김 * 근 하 * 희 KR000****2 박 * 순 KR000****3 최 * 정 KR000****4 박 * 희 조 * 제 회원번호 대표자 공동자 KR000****1 권 * 영 KR000****1 박 * 순 KR000****1 박 * 애 이 * 홍 KR000****2 김 * 근 하 * 희 KR000****2 박 * 순 KR000****3 최 * 정 KR000****4 박 * 희 조 * 제 KR000****4 설 * 환 KR000****4 송 * 애 김 * 수 KR000****4

More information

Freecom Mobile Drive XXS 사용자에게! Freecom Mobile Drive XXS 외장형 하드 드라이브를 선택해 주셔서 감사합니다. 최 적의 사용과 성능을 위해 본 제품을 사용하기 전에 본 설명서를 주의 깊게 읽을 것 을 권합니다. Freecom T

Freecom Mobile Drive XXS 사용자에게! Freecom Mobile Drive XXS 외장형 하드 드라이브를 선택해 주셔서 감사합니다. 최 적의 사용과 성능을 위해 본 제품을 사용하기 전에 본 설명서를 주의 깊게 읽을 것 을 권합니다. Freecom T 사용자 설명서 MOBILE DRIVE XXS EXTERNAL MOBILE HARD DRIVE / 2.5" / USB 2.0 Rev. 907 Freecom Mobile Drive XXS 사용자에게! Freecom Mobile Drive XXS 외장형 하드 드라이브를 선택해 주셔서 감사합니다. 최 적의 사용과 성능을 위해 본 제품을 사용하기 전에 본 설명서를 주의

More information

이 설명서의 올바른 참고문헌 인용은 다음과 같습니다. SAS Institute Inc. 2015. SAS University Edition: Amazon Web Services 용 설치 가이드 Cary, NC: SAS Institute Inc. SAS Universit

이 설명서의 올바른 참고문헌 인용은 다음과 같습니다. SAS Institute Inc. 2015. SAS University Edition: Amazon Web Services 용 설치 가이드 Cary, NC: SAS Institute Inc. SAS Universit SAS University Edition: Amazon Web Services 용 설치 가이드 i 2014 년 6 월 17 일 이 설명서의 올바른 참고문헌 인용은 다음과 같습니다. SAS Institute Inc. 2015. SAS University Edition: Amazon Web Services 용 설치 가이드 Cary, NC: SAS Institute

More information

오프라인 사용을 위한 Tekla Structures 라이선스 대여

오프라인 사용을 위한 Tekla Structures 라이선스 대여 Tekla Structures 2016 라이선스 대여 4 월 2016 2016 Trimble Solutions Corporation 목차 1 오프라인 사용을 위한 Tekla Structures 라이선스 대여... 3 2 Tekla Structures 오프라인 사용을 위한 Tekla Structures License Borrow Tool 설정... 6 3 Tekla

More information