기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Database Migration Service ()를 사용하여 Linux, Unix, Windows 및 Amazon RDS(Db2 LUW)용 IBM Db2 데이터베이스에서 지원되는 모든 대상 데이터베이스로 데이터를 마이그레이션할 수 있습니다AWS DMS.
가 소스로 AWS DMS 지원하는 Linux, Unix, Windows 및 RDS의 Db2 버전에 대한 자세한 내용은 섹션을 참조하세요의 소스 AWS DMS.
Secure Sockets Layer(SSL)를 사용하여 Db2 LUW 엔드포인트와 복제 인스턴스 간 연결을 암호화할 수 있습니다. Db2 LUW 엔드포인트에서 SSL을 사용하는 방법에 대한 자세한 내용은 에서 SSL 사용 AWS Database Migration Service 섹션을 참조하십시오.
Db2 LUW를 소스로 사용할 때의 사전 조건 AWS DMS
Db2 LUW 데이터베이스를 소스로 사용하기 전에 다음 사전 조건이 요구됩니다.
변경 데이터 캡처(CDC)라고도 하는 지속적 복제를 활성화하기 위해서는 다음을 수행하십시오.
-
데이터베이스를 복구 가능으로 설정하여가 변경 사항을 캡처 AWS DMS 해야 합니다. 데이터베이스 구성 파라미터인
LOGARCHMETH1
과LOGARCHMETH2
중 하나, 또는 둘 모두가ON
으로 설정되어 있어야 데이터베이스를 복구할 수 있습니다.데이터베이스를 복구할 수 있는 경우는 필요한
ARCHIVE LOG
경우 Db2에 액세스할 AWS DMS 수 있습니다. -
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
-
Amazon RDS for Db2 LUW를 소스로 사용하는 경우 아카이브 로그를 사용할 수 있는지 확인합니다 AWS DMS. AWS관리형 Db2 데이터베이스는 가능한 한 빨리 아카이브 로그를 제거하므로 로그를 계속 사용할 수 있는 시간을 늘려야 합니다. 예를 들어, 로그 보존 시간을 24시간으로 늘리려면 다음 명령을 실행합니다.
db2 "call rdsadmin.set_archive_log_retention( ?, 'TESTDB', '24')"
Amazon RDS for Db2 LUW 절차에 대한 자세한 내용은 Amazon Relational Database Service 사용 설명서의 Amazon RDS for Db2 저장 프로시저 참조를 참조하세요.
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 이상의 경우, 데이터가 행 외부에 저장된 가변 길이 문자열 열은 무시됩니다. 이 제한은 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 소스 엔드포인트에서
connectNode
를1
로 설정하여 DPF 클러스터의 각 Db2 노드에서 로컬 트랜잭션을 캡처할 수 있습니다. 이 구성은 DB2 서버 구성 파일db2nodes.cfg
에 정의된 논리적 노드 번호에 해당합니다.개별 Db2 노드의 로컬 트랜잭션은 대규모 글로벌 트랜잭션의 일부일 수 있습니다. DMS는 다른 Db2 노드의 트랜잭션과 조정하지 않고 대상에 각 로컬 트랜잭션을 독립적으로 적용합니다. 이러한 독립적인 처리는 특히 파티션 간에 행을 이동할 때 복잡성을 초래할 수 있습니다.
DMS는 각 Db2 노드에 독립적으로 작업을 적용하므로 DMS가 여러 Db2 노드에서 복제할 때 대상에 대한 올바른 작업 순서를 보장할 수 없습니다. 각 Db2 노드와 독립적으로 로컬 트랜잭션을 캡처하는 것이 특정 사용 사례에 적합한지 확인해야 합니다.
DPF 환경에서 마이그레이션할 때는 먼저 캐시된 이벤트 없이 전체 로드 작업을 실행한 다음 CDC 전용 태스크를 실행하는 것이 좋습니다.
StartFromContext
엔드포인트 설정을 사용하여 설정한 전체 로드 시작 타임스탬프 또는 LRI(로그 레코드 식별자)부터 시작하여 Db2 노드당 하나의 태스크를 실행하는 것이 좋습니다. 복제 시작점을 결정하는 방법에 대한 자세한 내용은 IBM 지원 설명서의 복제 시작을 위한 LSN 또는 LRI 값 찾기를 참조하세요.
-
지속적 복제(CDC) 시 특정 타임스탬프에서 복제를 시작하려는 경우,
StartFromContext
연결 속성을 필수 타임스탬프로 설정해야 합니다. -
현재 DMS는 데이터베이스 솔루션을 확장하는 데 사용할 수 있는 DB2 LUW의 확장인 Db2 PureScale 기능을 지원하지 않습니다.
-
DATA CAPTURE CHANGES
테이블 옵션은 DB2 데이터 복제 프로세스의 중요한 사전 조건입니다. 테이블을 생성할 때이 옵션을 활성화하지 않으면 데이터가 누락될 수 있습니다. 특히 CDC(데이터 캡처 변경)의 경우 이전 시작점에서 시작된 복제 작업만 해당됩니다. AWS DMS 는 CDC 또는 FULL+CDC 작업을 다시 시작할 때 기본적으로이 속성을 활성화합니다. 그러나 작업 재시작 전에 소스 데이터베이스에서 변경한 내용은 누락될 수 있습니다.ALTER TABLE TABLE_SCHEMA.TABLE_NAME DATA CAPTURE CHANGES INCLUDE LONGVAR COLUMNS;
Db2 LUW를의 소스로 사용할 때 엔드포인트 설정 AWS DMS
추가 연결 속성을 사용하는 것과 비슷하게 엔드포인트 설정을 사용하여 Db2 LUW 소스 데이터베이스를 구성할 수 있습니다. AWS DMS 콘솔을 사용하거나 --ibm-db2-settings '{"
JSON 구문과 AWS CLI함께의 EndpointSetting"
: "value"
, ...
}'create-endpoint
명령을 사용하여 소스 엔드포인트를 생성할 때 설정을 지정합니다.
Db2 LUW를 소스로 하여 사용할 수 있는 엔드포인트 설정은 다음 표에 나와 있습니다.
명칭 | 설명 |
---|---|
|
지속적 복제(CDC)의 경우, |
|
읽기 당 바이트의 최대 수(NUMBER 값) 기본값은 64KB입니다. |
|
불 값으로 지속적 복제(CDC)를 활성화합니다. 기본값은 true입니다. |
|
지속적 복제(CDC)의 경우,
로그 파일의 LRI/LSN 범위를 확인하려면 다음 예제와 같이
예제의 출력은 다음과 비슷합니다.
이 출력에서 로그 파일은 S0000002.LOG이고 StartFromContext LRI 값은 범위 끝에 있는 34바이트입니다.
|
|
DB2 LUW 엔드포인트에 대한 문(쿼리) 제한 시간을 초 단위로 설정하는 추가 연결 속성입니다. 기본값은 60초입니다. ECA 예제: |
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 |