리눅스, 유닉스, 윈도우용 IBM Db2 및 아마존 RDS 데이터베이스 (Db2 LUW) 를 소스로 사용 AWS DMS - AWS Database Migration Service

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

리눅스, 유닉스, 윈도우용 IBM Db2 및 아마존 RDS 데이터베이스 (Db2 LUW) 를 소스로 사용 AWS DMS

() 를 사용하여 리눅스, 유닉스, 윈도우 및 Amazon RDS (Db2 LUW) 용 IBM Db2 데이터베이스에서 지원되는 모든 대상 데이터베이스로 데이터를 마이그레이션할 수 있습니다. AWS Database Migration Service AWS DMS

소스로 지원하는 Linux, Unix, Windows 및 RDS의 Db2 버전에 대한 자세한 내용은 을 참조하십시오. AWS DMS 출처: AWS DMS

Secure Sockets Layer(SSL)를 사용하여 Db2 LUW 엔드포인트와 복제 인스턴스 간 연결을 암호화할 수 있습니다. Db2 LUW 엔드포인트에서 SSL을 사용하는 방법에 대한 자세한 내용은 AWS Database Migration Service에서 SSL 사용 섹션을 참조하십시오.

Db2 LUW를 원본으로 사용할 때의 사전 요구 사항 AWS DMS

Db2 LUW 데이터베이스를 소스로 사용하기 전에 다음 사전 조건이 요구됩니다.

변경 데이터 캡처(CDC)라고도 하는 지속적 복제를 활성화하기 위해서는 다음을 수행하십시오.

  • 데이터베이스를 복구 가능으로 설정하여 변경 사항을 캡처해야 합니다. AWS DMS 데이터베이스 구성 파라미터인 LOGARCHMETH1LOGARCHMETH2 중 하나, 또는 둘 모두가 ON으로 설정되어 있어야 데이터베이스를 복구할 수 있습니다.

    데이터베이스를 복구할 수 있는 경우 필요한 경우 Db2에 액세스할 AWS DMS 수 있습니다. ARCHIVE LOG

  • 처리할 수 있는 충분한 보존 기간을 두고 DB2 트랜잭션 로그를 사용할 수 있는지 확인하십시오. AWS DMS

  • DB2에는 트랜잭션 로그 레코드를 추출하기 위한 SYSADM 또는 DBADM 권한 부여가 필요합니다. 사용자 계정에 다음 권한을 부여합니다.

    • SYSADM 또는 DBADM

    • DATAACCESS

    참고

    전체 로드 전용 작업의 경우, DMS 사용자 계정에 DATAACCESS 권한이 필요합니다.

  • IBM DB2 for LUW 버전 9.7을 소스로 사용하는 경우, 추가 연결 속성(ECA) CurrentLSN을 다음과 같이 설정합니다.

    CurrentLSN=LSN, 여기서 LSN은 복제가 시작될 로그 시퀀스 번호(LSN)를 지정합니다. 또는 CurrentLSN=scan.

Db2 LUW를 원본으로 사용할 때의 제한 사항 AWS DMS

AWS DMS 클러스터링된 데이터베이스를 지원하지 않습니다. 하지만 클러스터의 각 엔드포인트에 별도의 Db2 LUW를 정의할 수 있습니다. 예를 들어 클러스터의 노드 중 하나를 사용하여 전체 로드 마이그레이션 작업을 생성한 다음 각 노드에서 별도의 작업을 생성할 수 있습니다.

AWS DMS 소스 Db2 LUW 데이터베이스의 BOOLEAN 데이터 유형을 지원하지 않습니다.

지속적 복제(CDC)를 사용할 때 다음 제한 사항이 적용됩니다.

  • 파티션이 여러 개 있는 테이블이 잘린 경우 AWS DMS 콘솔에 표시되는 DDL 이벤트 수는 파티션 수와 같습니다. Db2 LUW가 각 파티션에 별개의 DDL을 기록하기 때문입니다.

  • 분할된 테이블에서는 다음 DDL 작업이 지원되지 않습니다.

    • ALTER TABLE ADD PARTITION

    • ALTER TABLE DETACH PARTITION

    • ALTER TABLE ATTACH PARTITION

  • AWS DMS DB2 고가용성 재해 복구 (HADR) 대기 인스턴스에서의 지속적인 복제 마이그레이션은 지원하지 않습니다. 대기 인스턴스에 액세스할 수 없습니다.

  • DECFLOAT 데이터 형식은 지원되지 않습니다. 따라서 지속적 복제 진행 중 DECFLOAT 열들의 변경 내용이 무시됩니다.

  • RENAME COLUMN 문은 지원되지 않습니다.

  • 다차원 클러스터링 (MDC) 테이블을 업데이트할 때 각 업데이트는 AWS DMS 콘솔에 INSERT + DELETE로 표시됩니다.

  • 작업 설정 복제에 LOB 열 포함이 활성화되지 않은 경우, LOB 열이 있는 테이블은 지속적 복제 도중 일시 중지됩니다.

  • Db2 LUW 버전 10.5 이상의 경우 저장된 데이터가 있는 가변 길이 문자열 열은 무시됩니다. out-of-row 이 제한은 VARCHAR 및 VARGRAPHIC과 같은 데이터 형식을 가진 열의 확장된 행 크기로 생성된 테이블에만 적용됩니다. 이 제한을 해결하려면 페이지 크기가 더 큰 테이블 공간으로 테이블을 이동하세요. 자세한 내용은 What can I do if I want to change the pagesize of DB2 tablespaces를 참조하세요.

  • 지속적 복제의 경우, DMS는 DB2 LOAD 유틸리티에 의해 페이지 수준에서 로드된 데이터의 마이그레이션을 지원하지 않습니다. 대신 SQL 삽입을 사용하는 IMPORT 유틸리티를 사용하세요. 자세한 내용은 differences between the import and load utilities를 참조하세요.

  • 복제 작업이 실행되는 동안 DMS는 테이블이 DATA CAPTURE CHANGE 속성으로 생성된 경우에만 CREATE TABLE DDL을 캡처합니다.

  • DMS는 Db2 데이터베이스 파티션 기능 (DPF) 을 사용할 때 다음과 같은 제한이 있습니다.

    • DMS는 DPF 환경에서 Db2 노드 간의 트랜잭션을 조정할 수 없습니다. 이는 IBM DB2READLOG API 인터페이스 내의 제약 때문입니다. DPF에서는 DB2가 데이터를 분할하는 방식에 따라 트랜잭션이 여러 Db2 노드에 걸쳐 있을 수 있습니다. 따라서 DMS 솔루션은 각 Db2 노드의 트랜잭션을 독립적으로 캡처해야 합니다.

    • DMS는 여러 DMS 소스 엔드포인트에서 로 설정하여 DPF 클러스터의 각 Db2 노드에서 로컬 트랜잭션을 connectNode 캡처할 수 1 있습니다. 이 구성은 DB2 서버 구성 파일에 정의된 논리적 노드 번호와 일치합니다. db2nodes.cfg

    • 개별 Db2 노드의 로컬 트랜잭션은 대규모 글로벌 트랜잭션의 일부일 수 있습니다. DMS는 다른 Db2 노드의 트랜잭션과 조정하지 않고 각 로컬 트랜잭션을 타겟에 독립적으로 적용합니다. 이러한 독립적 처리는 특히 파티션 간에 행을 이동할 때 복잡성을 초래할 수 있습니다.

    • DMS가 여러 Db2 노드에서 복제하는 경우 DMS가 각 Db2 노드에 대해 독립적으로 작업을 적용하기 때문에 타겟에서 올바른 작업 순서를 보장할 수 없습니다. 각 Db2 노드와 독립적으로 로컬 트랜잭션을 캡처하는 것이 특정 사용 사례에 적합한지 확인해야 합니다.

    • DPF 환경에서 마이그레이션할 때는 먼저 캐시된 이벤트 없이 Full Load 작업을 실행한 다음 CDC 전용 작업을 실행하는 것이 좋습니다. 엔드포인트 설정을 사용하여 설정한 Full Load 시작 타임스탬프 또는 LRI (로그 레코드 식별자) 부터 시작하여 Db2 노드당 하나의 작업을 실행하는 것이 좋습니다. StartFromContext 복제 시작점 결정에 대한 자세한 내용은 IBM Support 설명서에서 복제 시작을 위한 LSN 또는 LRI 값 찾기를 참조하십시오.

  • 지속적 복제(CDC) 시 특정 타임스탬프에서 복제를 시작하려는 경우, StartFromContext 연결 속성을 필수 타임스탬프로 설정해야 합니다.

  • 현재 DMS는 데이터베이스 솔루션을 확장하는 데 사용할 수 있는 DB2 LUW의 확장인 Db2 PureScale 기능을 지원하지 않습니다.

  • AWS DMS Amazon RDS용 Db2를 소스로 사용할 때는 CDC를 지원하지 않습니다.

Db2 LUW를 소스로 사용할 때의 엔드포인트 설정 AWS DMS

추가 연결 속성을 사용하는 것과 비슷하게 엔드포인트 설정을 사용하여 Db2 LUW 소스 데이터베이스를 구성할 수 있습니다. AWS DMS 콘솔을 사용하거나 의 create-endpoint 명령을 --ibm-db2-settings '{"EndpointSetting": "value", ...}' JSON 구문으로 사용하여 소스 엔드포인트를 생성할 때 설정을 지정합니다. AWS CLI

Db2 LUW를 소스로 하여 사용할 수 있는 엔드포인트 설정은 다음 표에 나와 있습니다.

명칭 설명

CurrentLSN

지속적 복제(CDC)의 경우, CurrentLSN을 사용하여 복제가 시작될 로그 시퀀스 번호(LSN)를 지정합니다.

MaxKBytesPerRead

읽기 당 바이트의 최대 수(NUMBER 값) 기본값은 64KB입니다.

SetDataCaptureChanges

불 값으로 지속적 복제(CDC)를 활성화합니다. 기본값은 true입니다.

StartFromContext

지속적 복제(CDC)의 경우, StartFromContext를 사용하여 복제가 시작될 로그 하한선을 지정합니다. StartFromContext는 다양한 형식의 값을 허용합니다. 유효한 값으로는 다음이 포함됩니다.

  • timestamp(UTC). 예:

    '{"StartFromContext": "timestamp:2021-09-21T13:00:00"}'
  • NOW

    IBM DB2 LUW 버전 10.5 이상의 경우, CurrentLSN: scan과 조합된 NOW는 최신 LSO에서 작업을 시작합니다. 예:

    '{"CurrentLSN": "scan", "StartFromContext": "NOW"}'
  • 특정 LRI. 예:

    '{"StartFromContext": "0100000000000022CC000000000004FB13"}'

로그 파일의 LRI/LSN 범위를 확인하려면 다음 예제와 같이 db2flsn 명령을 실행합니다.

db2flsn -db SAMPLE -lrirange 2

예제의 출력은 다음과 비슷합니다.

S0000002.LOG: has LRI range 00000000000000010000000000002254000000000004F9A6 to 000000000000000100000000000022CC000000000004FB13

이 출력의 로그 파일은 S0000002 .LOG이고 StartFromContextLRI 값은 범위 끝에 있는 34바이트입니다.

0100000000000022CC000000000004FB13

IBM Db2 LUW용 소스 데이터 형식

Db2 LUW를 원본으로 사용하는 데이터 마이그레이션은 대부분의 Db2 LUW 데이터 유형을 AWS DMS 지원합니다. 다음 표에는 사용 시 지원되는 Db2 LUW 소스 데이터 유형과 데이터 유형별 기본 매핑이 AWS DMS 나와 있습니다. AWS DMS Db2 LUW 데이터 형식에 대한 자세한 내용은 Db2 LUW 설명서를 참조하십시오.

대상에서 매핑된 데이터 형식을 보는 방법에 대한 자세한 내용은 사용 중인 대상 엔드포인트 단원을 참조하십시오.

AWS DMS 데이터 유형에 대한 자세한 내용은 을 참조하십시오. AWS Database Migration Service에서 사용되는 데이터 형식

Db2 LUW 데이터 형식

AWS DMS 데이터 유형

INTEGER

INT4

SMALLINT

INT2

BIGINT

INT8

DECIMAL (p,s)

NUMERIC(p,s)

FLOAT

REAL8

DOUBLE

REAL8

REAL

REAL4

DECFLOAT (p)

정밀도가 16이면 REAL8, 정밀도가 34이면 STRING

GRAPHIC (n)

길이가 0보다 크고 127 이하인 2바이트 문자 고정 길이 그래픽 문자열의 경우, WSTRING

VARGRAPHIC (n)

길이가 0보다 크고 16,352 이하인 2바이트 문자 가변 길이 그래픽 문자열의 경우, WSTRING

LONG VARGRAPHIC (n)

길이가 0보다 크고 16,352 이하인 2바이트 문자 가변 길이 그래픽 문자열의 경우, CLOB

CHARACTER (n)

길이가 0보다 크고 255 이하인 2바이트 문자 고정 길이 문자열의 경우, STRING

VARCHAR (n)

길이가 0보다 크고 32,704 이하인 2바이트 문자 가변 길이 문자열의 경우, STRING

LONG VARCHAR (n)

길이가 0보다 크고 32,704 이하인 2바이트 문자 가변 길이 문자열의 경우, CLOB

CHAR (n) FOR BIT DATA

BYTES

VARCHAR (n) FOR BIT DATA

BYTES

LONG VARCHAR FOR BIT DATA

BYTES

날짜

날짜

TIME

TIME

TIMESTAMP

DATETIME

BLOB (n)

BLOB

최대 길이는 2,147,483,647바이트

CLOB (n)

CLOB

최대 길이는 2,147,483,647바이트

DBCLOB (n)

CLOB

최대 길이는 1,073,741,824 2바이트 문자

XML

CLOB