AWS Database Migration Service(AWS DMS)로 마이그레이션하는 동안 대상 데이터베이스에 보조 객체를 추가하고 싶습니다.
간략한 설명
AWS DMS가 대상 데이터베이스에서 테이블을 생성할 때, AWS DMS는 데이터를 대상으로 마이그레이션하는 데 필요한 객체만 마이그레이션합니다. 자세한 내용은 외래 키 및 보조 인덱스 누락을 참조하십시오.
대상에 테이블을 수동으로 생성하는 경우 마이그레이션이 시작되기 전에 보조 인덱스 같은 보조 객체를 삭제하는 것이 좋습니다.
참고: 변경 데이터 캡처(CDC) 작업에 대해서만 보조 객체를 삭제할 필요는 없습니다.
대상 데이터베이스에 보조 객체를 추가하는 시기는 작업에서 사용하는 마이그레이션 방법에 따라 다릅니다.
해결 방법
전체 로드 작업만
전체 로드 작업의 경우에만 마이그레이션 시작 전에 기본 키와 모든 보조 객체를 삭제하십시오. 전체 로드가 완료된 후 객체를 생성하십시오. 전체 로드 중에 대상 데이터베이스에 보조 객체가 있는 경우 추가 유지 관리가 필요할 수 있습니다.
대상에 외래 키가 있는 경우 외래 키로 인해 작업이 실패할 수 있습니다. 이는 작업에서 특정 순서 없이 테이블 그룹을 함께 로드하기 때문에 발생합니다. 자세한 내용은 외래 키 제약 조건 위반 오류로 AWS DMS 작업이 실패했을 경우 어떻게 해결해야 합니까?를 참조하십시오.
이 문제를 방지하려면 테이블 매핑에서 로드 순서를 수동으로 지정하십시오.
CDC 작업만
CDC 작업에 한해 마이그레이션 전에 대상 데이터베이스에 보조 인덱스와 외래 키를 생성하십시오. 그런 다음 마이그레이션 완료 후 애플리케이션 전환이 시작되기 전에 타겟에서 트리거를 생성하십시오.
전체 로드 및 CDC 작업
전체 로드 및 CDC 작업의 경우 마이그레이션 시작 전에 모든 보조 객체를 삭제하십시오. 전체 로드가 진행 중일 때 작업은 로드 중인 테이블의 변경 사항을 캐시합니다. 테이블에 대한 전체 로드가 완료된 후 작업이 캐시된 변경 사항을 적용하고 대상 테이블의 트랜잭션 일관성이 유지됩니다. 이후 AWS DMS가 진행 중인 복제 단계를 시작합니다.
다음 마이그레이션 단계에서 대상 데이터베이스의 보조 객체를 적용합니다.
- 기존 데이터의 전체 로드: 작업에서 전체 로드 완료 후 캐시된 변경 사항을 적용하기 전에 보조 인덱스를 추가합니다.
- 캐시된 변경 사항의 적용: 작업에서 캐시된 변경 사항을 적용한 후 참조 무결성 제약 조건과 같은 외래 키를 추가합니다.
- 지속적 복제: 마이그레이션 완료 후 애플리케이션 전환이 시작되기 전에 트리거를 생성합니다.
마이그레이션 중에 작업을 중지하려면 작업 설정을 사용합니다. 캐시된 변경 사항을 적용하기 전에 작업을 중지하려면 StopTaskCachedChangesNotApplied를 사용합니다. 캐시된 변경 사항을 적용한 후 작업을 중지하려면 StopTaskCachedChangesApplied를 사용합니다.
작업 설정을 활성화하려면 AWS Command Line Interface(AWS CLI)를 사용할 수 있습니다.
참고: AWS CLI 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 문제 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
관련 정보
작업 생성
전체 로드 작업 설정
AWS DMS의 개요
대상 테이블 준비 모드