AWS Database Migration Service(AWS DMS)를 사용할 때 "Last Error Replication task out of memory. Stop Reason FATAL_ERROR Error Level FATAL"라는 오류 메시지가 표시됩니다.
간략한 설명
AWS DMS를 사용할 때 다음 오류가 발생합니다. "Last Error Replication task out of memory. Stop Reason FATAL_ERROR Error Level FATAL". 오류의 근본 원인을 찾으려면 AWS DMS 작업 로그를 검토하세요. 앞의 오류에 대해 로그는 다음 정보를 제공합니다: “Task process for 'XXXXXXX' failed because it ran out of memory”.
이 오류를 해결하려면 다음 단계 중 하나 이상을 완료하세요:
- 작업 설정 또는 메모리 관련 매개변수를 변경합니다.
- FreeMemory 및 SwapUsage와 같은 복제 인스턴스에 대한 Amazon CloudWatch 지표의 변동에 따라 복제 인스턴스 클래스를 확장합니다.
- 마이그레이션되는 데이터의 크기와 작업에 필요한 메모리 양에 따라 단일 작업을 여러 작업으로 분할합니다.
해결 방법
참고: 수정하기 전에 작업을 중지해야 합니다. 수정한 후에는 작업을 재개해야 합니다. 전체 로드 단계에서 작업이 중지되면 기내 테이블이 처음부터 다시 로드됩니다.
작업 설정 또는 메모리 관련 매개변수 변경
더 많은 메모리 용량이 필요한 작업 설정 또는 메모리 관련 매개변수를 확장할 수 있는지 확인하세요. 다음은 확인해야 할 가장 일반적인 작업 설정 및 매개변수 중 일부입니다:
- LOB 설정
- ThreadCount 및 PartitionSize와 같은 유효성 검사 매개변수
- 병렬 스레드 매개변수(예: ParallelLoadThreads, ParallelLoadBufferSize, ParallelLoadQueuesPerThread, ParallelApplyThreads, ParallelApplyBufferSize 및 ParallelApplyQueuesPerThread).
- 일괄 적용 매개변수 BatchApplyTimeoutMin, BatchApplyTimeoutMax, BatchApplyMemoryLimit, BatchSplitSize 등입니다.
- 기타 메모리 관련 작업 설정(예: MinTransactionSize, MemoryLimitTotal, MemoryKeepTime, StatementCacheSize).
앞의 작업 설정 및 매개변수에 대한 자세한 내용은 마이그레이션을 위해 AWS DMS가 메모리를 사용하려면 어떻게 해야 하나요?를 참조하세요.
Amazon CloudWatch 지표의 변동에 따라 복제 인스턴스 클래스 스케일업
복제 인스턴스의 FreeMemory 및 SwapUsage 지표를 확인합니다. FreeMemory가 감소하거나 SwapUsage가 증가하거나 변동하는 경우, 더 큰 복제 인스턴스로 이동하는 것을 고려하세요.
또한 메모리 최적화 인스턴스를 사용하는 것도 고려하세요. 메모리 최적화 인스턴스는 지속적인 마이그레이션 및 처리량이 많은 트랜잭션의 복제와 같이 메모리 집약적인 워크로드에 적합합니다. 복제 인스턴스 크기 및 유형에 대한 자세한 내용은 마이그레이션에 적합한 AWS DMS 복제 인스턴스 선택을 참조하세요.
마이그레이션되는 데이터의 크기와 작업에 필요한 메모리 양에 따라 단일 작업을 여러 작업으로 분할합니다.
복제 인스턴스에 여러 작업이 있는 경우, DMS MemoryUsage 지표를 사용하여 작업이 소비하는 메모리 양을 관찰할 수 있습니다. CDC 단계에서 작업이 메모리를 보유하는 이유를 확인하려면 CDCChangesMemorySource와 CDCChangesMemoryTarget를 비교한 다음 해당 엔드포인트의 문제를 해결하세요.
복제 인스턴스에서 여러 작업이 실행 중인 경우 다음 작업 중 하나 이상을 수행합니다.
- 복제 인스턴스에서 실행되는 작업의 수와 유형을 줄입니다.
- 실패한 작업을 다른 복제 인스턴스로 이동한 다음 다시 시도하세요.
- 인스턴스 용량을 늘립니다.
여러 테이블이 병렬로 로드되거나 많은 테이블과 스키마가 마이그레이션되는 작업의 경우 다음 작업 중 하나 이상을 수행합니다.
- 병렬로 로드되는 테이블 수를 줄입니다.
- 마이그레이션되는 전체 테이블 및 스키마 수를 줄입니다.
- 다른 복제 인스턴스에서 다른 작업을 사용하여 일부 테이블과 스키마의 마이그레이션을 오프로드합니다.
- 인스턴스 용량을 늘립니다.
관련 정보
대상 메타데이터 작업 설정
처리 튜닝 설정 변경
AWS Database Migration Service 지표