오류 처리 작업 설정 - AWS Database Migration Service

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

오류 처리 작업 설정

다음 설정을 사용하여 복제 작업의 오류 처리 동작을 설정할 수 있습니다. 작업 구성 파일을 사용하여 작업 설정을 지정하는 방법에 관한 자세한 내용은 작업 설정 예제을 참조하십시오.

  • DataErrorPolicy— 레코드 수준에서 데이터를 처리하는 것과 관련된 오류가 발생할 경우 AWS DMS가 취하는 조치를 결정합니다. 일부 데이터 처리 오류 예제에는 전환 오류, 변환 오류, 잘못된 데이터가 포함됩니다. 기본값은 LOG_ERROR입니다.

    • IGNORE_RECORD – 작업은 계속되고 해당 레코드의 데이터는 무시됩니다. DataErrorEscalationCount 속성의 오류 카운터가 증가합니다. 따라서 테이블에 대한 오류 한도를 설정하면 이 오류는 한도를 향해 증가합니다.

    • LOG_ERROR – 작업은 계속되고 오류가 작업 로그에 기록됩니다.

    • SUSPEND_TABLE – 작업은 계속되지만 오류 레코드가 있는 테이블의 데이터는 오류 상태로 이동하고 데이터가 복제되지 않습니다.

    • STOP_TASK – 작업은 중지되고 수동 개입이 필요합니다.

  • DataTruncationErrorPolicy – 데이터를 자를 때 AWS 에서 수행하는 작업을 결정합니다. 기본값은 LOG_ERROR입니다.

    • IGNORE_RECORD – 작업은 계속되고 해당 레코드의 데이터는 무시됩니다. DataErrorEscalationCount 속성의 오류 카운터가 증가합니다. 따라서 테이블에 대한 오류 한도를 설정하면 이 오류는 한도를 향해 증가합니다.

    • LOG_ERROR – 작업은 계속되고 오류가 작업 로그에 기록됩니다.

    • SUSPEND_TABLE – 작업은 계속되지만 오류 레코드가 있는 테이블의 데이터는 오류 상태로 이동하고 데이터가 복제되지 않습니다.

    • STOP_TASK – 작업은 중지되고 수동 개입이 필요합니다.

  • DataErrorEscalationPolicy – 최대 오류 수(DataErrorEscalationCount 파라미터에서 설정됨)에 도달할 때 AWS DMS에서 수행하는 작업을 결정합니다. 기본값은 SUSPEND_TABLE입니다.

    • SUSPEND_TABLE – 작업은 계속되지만 오류 레코드가 있는 테이블의 데이터는 오류 상태로 이동하고 데이터가 복제되지 않습니다.

    • STOP_TASK – 작업은 중지되고 수동 개입이 필요합니다.

  • DataErrorEscalationCount – 특정 레코드의 데이터에 발생할 수 있는 최대 오류 수를 설정합니다. 이 수치에 도달하면 오류 레코드를 포함하는 테이블의 데이터는 DataErrorEscalationPolicy에 설정된 정책에 따라 처리됩니다. 기본값은 0입니다.

  • EventErrorPolicy— 작업 관련 이벤트를 보내는 동안 오류가 발생할 경우 AWS DMS에서 취하는 조치를 결정합니다. 가능한 값은 다음과 같습니다.

    • IGNORE – 작업은 계속되며 해당 이벤트와 관련된 모든 데이터는 무시됩니다.

    • STOP_TASK – 작업은 중지되고 수동 개입이 필요합니다.

  • TableErrorPolicy – 특정 테이블의 데이터 또는 메타데이터를 처리할 때 오류가 발생하는 경우 AWS DMS에서 수행할 작업을 결정합니다. 이 오류는 일반 테이블 데이터에만 적용되고 특정 레코드와 관련된 오류가 아닙니다. 기본값은 SUSPEND_TABLE입니다.

    • SUSPEND_TABLE – 작업은 계속되지만 오류 레코드가 있는 테이블의 데이터는 오류 상태로 이동하고 데이터가 복제되지 않습니다.

    • STOP_TASK – 작업은 중지되고 수동 개입이 필요합니다.

  • TableErrorEscalationPolicy – 최대 오류 수(TableErrorEscalationCount 파라미터를 사용하여 설정됨)에 도달할 때 AWS 에서 수행하는 작업을 결정합니다. 기본값과 유일한 사용자 설정은 STOP_TASK이며 여기에서 작업은 중지되고 수동 개입이 필요합니다.

  • TableErrorEscalationCount – 특정 테이블의 일반 데이터 또는 메타데이터에 발생할 수 있는 오류의 최대 수입니다. 이 수치에 도달하면 테이블의 데이터는 TableErrorEscalationPolicy에 설정된 정책에 따라 처리됩니다. 기본값은 0입니다.

  • RecoverableErrorCount – 환경 오류가 발생할 때 작업을 다시 시작하기 위한 시도의 최대 횟수입니다. 시스템이 작업을 지정된 횟수만큼 다시 시작하려고 시도하고 나면, 이 작업은 중지되고 수동 개입이 필요합니다. 기본값은 -1이며, 이 값은 작업을 무기한 다시 AWS DMS 시작하도록 지시합니다. 이 값을 0으로 설정하면 작업을 다시 시작하기 위한 시도를 하지 않습니다. 치명적 오류가 발생하는 경우, 6회 시도 후 작업 재시작 시도를 AWS DMS 중지합니다.

  • RecoverableErrorInterval— AWS DMS가 작업 재시작을 시도할 때까지 대기하는 시간 (초) 기본값은 5입니다.

  • RecoverableErrorThrottling – 활성화되면 작업 재시작 시도 간격이 RecoverableErrorInterval 값을 기준으로 연속적으로 늘어납니다. 예를 들어 RecoverableErrorInterval을 5초로 설정하면 다음 재시도는 10초 후, 20초 후, 40초 후 등등의 시간 경과 후에 다시 시도됩니다. 기본값은 true입니다.

  • RecoverableErrorThrottlingMax— 활성화된 경우 AWS DMS가 작업 재시작 시도 사이에 대기하는 최대 시간 (초) RecoverableErrorThrottling 기본값은 1800입니다.

  • RecoverableErrorStopRetryAfterThrottlingMax— 로 설정하면 복구 시도 사이에 AWS DMS 대기하는 true 최대 시간 (초) 에 도달한 후 작업 재시작을 중지합니다. RecoverableErrorThrottlingMax

  • ApplyErrorDeletePolicy – DELETE 작업과 충돌이 있을 때 AWS 에서 수행하는 작업을 결정합니다. 기본값은 IGNORE_RECORD입니다. 가능한 값은 다음과 같습니다.

    • IGNORE_RECORD – 작업은 계속되고 해당 레코드의 데이터는 무시됩니다. ApplyErrorEscalationCount 속성의 오류 카운터가 증가합니다. 따라서 테이블에 대한 오류 한도를 설정하면 이 오류는 한도를 향해 증가합니다.

    • LOG_ERROR – 작업은 계속되고 오류가 작업 로그에 기록됩니다.

    • SUSPEND_TABLE – 작업은 계속되지만 오류 레코드가 있는 테이블의 데이터는 오류 상태로 이동하고 데이터가 복제되지 않습니다.

    • STOP_TASK – 작업은 중지되고 수동 개입이 필요합니다.

  • ApplyErrorInsertPolicy – INSERT 작업과 충돌이 있을 때 AWS DMS에서 수행하는 작업을 결정합니다. 기본값은 LOG_ERROR입니다. 가능한 값은 다음과 같습니다.

    • IGNORE_RECORD – 작업은 계속되고 해당 레코드의 데이터는 무시됩니다. ApplyErrorEscalationCount 속성의 오류 카운터가 증가합니다. 따라서 테이블에 대한 오류 한도를 설정하면 이 오류는 한도를 향해 증가합니다.

    • LOG_ERROR – 작업은 계속되고 오류가 작업 로그에 기록됩니다.

    • SUSPEND_TABLE – 작업은 계속되지만 오류 레코드가 있는 테이블의 데이터는 오류 상태로 이동하고 데이터가 복제되지 않습니다.

    • STOP_TASK – 작업은 중지되고 수동 개입이 필요합니다.

    • INSERT_RECORD – 삽입한 원본 레코드와 동일한 기본 키를 사용하는 기존 대상 레코드가 있으면 대상 레코드가 업데이트됩니다.

  • ApplyErrorUpdatePolicy – UPDATE 작업과 누락 데이터 충돌이 있을 때 AWS DMS에서 수행하는 작업을 결정합니다. 기본값은 LOG_ERROR입니다. 가능한 값은 다음과 같습니다.

    • IGNORE_RECORD – 작업은 계속되고 해당 레코드의 데이터는 무시됩니다. ApplyErrorEscalationCount 속성의 오류 카운터가 증가합니다. 따라서 테이블에 대한 오류 한도를 설정하면 이 오류는 한도를 향해 증가합니다.

    • LOG_ERROR – 작업은 계속되고 오류가 작업 로그에 기록됩니다.

    • SUSPEND_TABLE – 작업은 계속되지만 오류 레코드가 있는 테이블의 데이터는 오류 상태로 이동하고 데이터가 복제되지 않습니다.

    • STOP_TASK – 작업은 중지되고 수동 개입이 필요합니다.

    • UPDATE_RECORD— 대상 레코드가 누락된 경우 누락된 대상 레코드가 대상 테이블에 삽입됩니다. AWS DMS 작업에 대한 LOB 열 지원을 완전히 비활성화합니다. 이 옵션을 선택하는 경우, Oracle이 소스 데이터베이스이면 모든 원본 테이블 열에서 전체 보충 로깅을 활성화해야 합니다.

  • ApplyErrorEscalationPolicy— 최대 오류 수 (ApplyErrorEscalationCount매개 변수를 사용하여 설정) 에 도달했을 때 AWS DMS에서 수행하는 작업을 결정합니다. 기본값은 LOG_ERROR입니다.

    • LOG_ERROR – 작업은 계속되고 오류가 작업 로그에 기록됩니다.

    • SUSPEND_TABLE – 작업은 계속되지만 오류 레코드가 있는 테이블의 데이터는 오류 상태로 이동하고 데이터가 복제되지 않습니다.

    • STOP_TASK – 작업은 중지되고 수동 개입이 필요합니다.

  • ApplyErrorEscalationCount – 이 옵션은 변경 프로세스 작업 중에 특정 테이블에서 발생할 수 있는 최대 APPLY 충돌 개수를 설정합니다. 이 개수에 도달하면 테이블 데이터는 ApplyErrorEscalationPolicy 파라미터에 설정된 정책에 따라 처리됩니다. 기본값은 0입니다.

  • ApplyErrorFailOnTruncationDdl – CDC 중에 추적되는 테이블에 대해 잘림이 수행될 때 작업이 실패하도록 하려면 이 옵션을 true로 설정합니다. 기본값은 false입니다.

    이 방법은 DDL 테이블 잘림을 복제하지 않는 PostgreSQL 버전 11.x나 이전 버전 또는 다른 소스 엔드포인트에서는 사용할 수 없습니다.

  • FailOnNoTablesCaptured – 작업이 시작될 때 작업에 대해 정의된 테이블 매핑이 테이블을 찾지 못하는 경우 작업이 실패하도록 하려면 이 옵션을 true로 설정합니다. 기본값은 false입니다.

  • FailOnTransactionConsistencyBreached – 이 옵션은 CDC와 함께 사용하기 위한 원본으로 Oracle을 사용하는 작업에 적용됩니다. 기본값은 false입니다. 트랜잭션이 지정된 제한 시간보다 더 오랫동안 열려 있고 삭제될 수 있는 경우 작업이 실패하도록 하려면 true로 설정합니다.

    CDC 작업이 Oracle과 함께 시작되면 가장 오래된 미해결 트랜잭션이 종료될 때까지 제한된 시간 동안 AWS DMS 기다린 후 CDC를 시작합니다. 가장 오래된 미해결 거래가 제한 시간에 도달할 때까지 종료되지 않으면 대부분의 경우 해당 거래를 무시하고 CDC를 AWS DMS 시작합니다. 이 옵션을 true로 설정하면 작업이 실패합니다.

  • FullLoadIgnoreConflicts— 캐시된 이벤트를 적용할 때 “영향을 받은 행이 0개” 및 “중복됨” 오류를 true AWS DMS 무시하도록 이 옵션을 설정하십시오. 로 설정하면 오류를 무시하는 false 대신 모든 오류를 AWS DMS 보고합니다. 기본값은 true입니다.

참고로 Redshift의 테이블 로드 오류STL_LOAD_ERRORS에서 보고됩니다. 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서에서 STL_LOAD_ERRORS를 참조하세요.