전체 로드 및 변경 데이터 캡처(CDC)가 활성화된 AWS Database Migration Service(AWS DMS) 작업이 있습니다. 다음과 같은 오류 메시지가 발생했습니다. "ERROR: null value in column violates not-null constraint."
해결 방법
마이그레이션 작업에 대형 LOB(대용량 객체) 열이 있는 경우, 다음과 비슷한 로그 항목이 표시됩니다.
"E: Command failed to load data with exit error code 1, Command output: ERROR: null value in column "xyz" violates not-null constraint"
AWS DMS가 LOB 열을 마이그레이션하면 LOB 열을 제외한 모든 데이터가 대상 테이블로 마이그레이션됩니다. 또한 AWS DMS가 LOB 열에 NULL 레코드를 삽입합니다. 그런 다음, AWS DMS는 대상 테이블의 행을 LOB 열 데이터로 업데이트합니다.
AWS DMS가 대상을 생성하지 않은 경우, 대상 데이터 설명 언어(DDL)를 확인하여 NOT NULL 속성이 지정되었는지 확인합니다. NOT NULL 속성이 있는 경우, 테이블을 업데이트하여 LOB 열 데이터 유형에 대한 NOT NULL 제약 조건을 제거합니다. 그런 다음, AWS DMS 작업을 재개하세요.
LOB 모드 및 작업 단계의 AWS DMS 작업 동작은 다음 표를 참조합니다.
LOB 모드 | 전체 로드 | 변경 데이터 캡처 |
---|
전체 LOB 모드 | NOT NULL 제약 조건이 허용되지 않음 | NOT NULL 제약 조건이 허용되지 않음 |
제한된 LOB 모드 | NULL 제약 조건이 허용됨 | NOT NULL 제약 조건이 허용되지 않음 |
관련 정보
대형 바이너리 객체(LOB) 마이그레이션