전체 부하와 변경 데이터 캡처(CDC)를 모두 수행하는 AWS Database Migration Service(AWS DMS) 작업이 있습니다. "ERROR: null value in column ates not-null constraint."라는 오류가 표시됩니다. 이 오류를 해결하려면 어떻게 해야 합니까?
해결 방법
마이그레이션 작업에 LOB(대형 객체) 열이 있는 경우 다음과 비슷한 로그 항목이 표시됩니다.
메시지 |
---|
E: 명령이 종료 오류 코드 1을 사용하여 데이터를 로드하지 못했습니다. 명령 출력: ERROR: 열 'xyz'의 null 값이 null이 아닌 제약 조건을 위반합니다. |
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) 마이그레이션