DBAtlas · 데이터베이스 운영 아틀라스

ORA-12899: value too large for column

Oracle

의미

정의된 최대 길이보다 긴 값이 문자/데이터 컬럼에 기록되었다. 예를 들어 15자 텍스트는 VARCHAR2(10) 컬럼에 들어가지 않는다.

원인

컬럼 폭이 데이터에 비해 부족함. 멀티바이트 문자 집합(UTF8)에서 문자 수가 바이트 한도를 초과함(BYTE semantics). 데이터 마이그레이션 중 다른 문자 집합. 연결(concatenation) 결과가 길어짐.

해결 방법

컬럼을 넓힌다: ALTER TABLE my_table MODIFY (my_column VARCHAR2(100)); 멀티바이트 내용에는 CHAR semantics를 사용한다: my_column VARCHAR2(100 CHAR). 긴 값을 줄여야 한다면 SUBSTR로 자른다. 오류 메시지에 실제 길이와 허용 길이가 나오므로 LENGTH/LENGTHB로 넘치는 레코드를 찾는다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목