내용으로 건너뛰기

AWS DMS를 사용하여 소스 데이터베이스를 Amazon Redshift로 마이그레이션할 때 발생하는 데이터 복제 문제 및 CDC 실패를 해결하려면 어떻게 해야 합니까?

3분 분량
0

AWS Database Migration Service(AWS DMS)를 사용하여 소스 데이터베이스를 Amazon Redshift로 마이그레이션할 때 데이터 복제 문제와 변경 데이터 캡처(CDC) 오류가 발생합니다.

해결 방법

CDC 실패

CDC 실패가 발생하면 AWS DMS 작업 로그에서 특정 테이블과 관련된 오류 메시지를 검토하십시오. 또한 AWS DMS 작업의 CDCLatencySourceCDCLatencyTarget Amazon CloudWatch 지표를 확인할 수 있습니다.

표시된 오류 메시지를 기반으로 다음 작업 중 하나 이상을 수행하십시오.

  • 소스 테이블에 프라이머리 키가 있는지 확인합니다. PostgreSQL 소스의 경우 캡처된 테이블에 프라이머리 키가 있어야 AWS DMS에서 DELETEUPDATE 작업을 처리할 수 있습니다.
  • 소스 데이터베이스의 변경 로그 보존 기간을 24시간 이상으로 설정했는지 확인합니다.
  • AWS DMS에서 사용하는 AWS 계정에 소스 데이터베이스대상 데이터베이스 모두에 필요한 권한이 있는지 확인합니다.

데이터 불일치

데이터 불일치를 해결하려면 다음 단계를 완료하십시오.

  1. 검증 전용 작업을 만들어 소스와 대상 간에 일치하지 않는 레코드를 파악합니다. 자세한 내용은 Redshift 검증 성능을 참조하십시오.
  2. 대상 데이터베이스의 awsdms_validation_failures_v1 테이블을 쿼리하여 불일치를 확인합니다.
  3. 실패한 마이그레이션에 대한 자세한 오류 정보는 대상 데이터베이스의 awsdms_apply_exceptions 테이블을 확인하십시오.
  4. 모든 복제된 대상 테이블에 프라이머리 키 또는 고유 인덱스가 있는지 확인합니다.
    참고: Amazon Redshift는 고유, 프라이머리 키 및 외래 키 제약 조건을 적용하지 않습니다. 따라서 중복이 발생할 수 있습니다.
  5. PostgreSQL을 소스로 사용하는 경우 소스 및 대상 테이블의 프라이머리 키를 정의해야 합니다.
  6. 불일치가 있는 테이블의 경우 AWS DMS 작업을 사용하여 테이블을 다시 로드합니다.

유형 변환 문제

유형 변환 문제를 해결하려면 다음 단계를 완료하십시오.

  1. AWS DMS 작업 로그에서 데이터 정의 언어(DDL) 길이를 초과하는 데이터 잘림 또는 문자열 길이와 관련된 오류가 있는지 검토합니다.

  2. awsdms_apply_exceptions 테이블에서 실패한 마이그레이션을 확인합니다.

  3. 더 큰 데이터를 수용할 수 있도록 대상 Redshift 데이터베이스의 열 데이터 유형을 조정합니다. 예를 들어 길이 문제가 있는 열의 경우 varchartext로 변경하십시오.

  4. 더 큰 데이터를 수용할 수 있도록 다음 예와 같이 태스크 설정에서 MaxLobSize 파라미터를 수정합니다.

    {
      "TargetMetadata": {
        "MaxLobSize": 32
      }
    }
  5. 지원되는 데이터 유형을 사용하고 있는지 확인하고 소스와 대상을 올바르게 매핑했는지 확인합니다.

성능 문제 및 높은 지연 시간

성능을 개선하고 지연 시간을 줄이려면 다음 작업을 수행하십시오.

중복 레코드

중복 레코드를 방지하려면 다음 작업을 수행하십시오.

  • 복제된 대상 테이블에 프라이머리 키 또는 고유 인덱스가 있는지 확인합니다.
  • 프라이머리 키를 사용하여 수동으로 대상에 테이블을 만들고 태스크 설정에서 TargetTablePrepModeDO_NOTHING 또는 TRUNCATE_BEFORE_LOAD로 설정합니다.
  • primary-key-def AWS DMS 테이블 매핑 규칙을 사용하여 프라이머리 키를 명시적으로 정의합니다.

누락되거나 불완전한 데이터

누락되거나 불완전한 데이터를 해결하려면 다음 작업을 수행하십시오.

  • AWS DMS 작업 로그에서 특정 테이블과 관련된 경고나 오류를 검토합니다.
  • CDCIncomingChanges 지표를 확인하여 AWS DMS가 소스의 모든 변경 사항을 캡처하는지 확인합니다.
  • AWS DMS에서 사용하는 소스 데이터베이스 사용자 계정에 필요한 모든 테이블 및 스키마에 액세스하는 데 필요한 권한이 있는지 확인합니다.
  • 검증 전용 작업을 만들어 일치하지 않는 레코드를 파악합니다. 자세한 내용은 Redshift 검증 성능을 참조하십시오.
  • 일관된 문제가 있는 테이블의 경우 개별 AWS DMS 작업을 만들어 문제를 보다 세부적으로 해결할 수 있습니다.

관련 정보

AWS Database Migration Service(AWS DMS) 모범 사례

AWS Database Migration Service에서 마이그레이션 작업 문제 해결

AWS DMS 데이터 검증

AWS 공식업데이트됨 4달 전