오라클 컬럼 중에는 VARCHAR2 라는 컬럼이 있다. 해당 컬럼은 최대 크기가 4000 Bytes로 제한돼있는데 이를 초과하는 데이터 입력에 대해서는 아래와 같이 ORA-12899 에러가 발생하게 된다. 꼭 VARCHAR2 컬럼 뿐만이 아니라 다른 컬럼이더라도 기존에 설정된 최대 사이즈를 초과하여 데이터 입력이 시도될 때는 동일하게 해당 에러를 만나게 된다.
ORA-12899: value too large for column " ~~~~~ " (actual: 5652, maximum: 4000)
Bash위 에러를 해결하기 위해서는 컬럼의 최대 사이즈를 조정할 수도 있지만, 보통의 경우에는 CLOB 사용을 권장한다. 그 이유는 컬럼 최대 사이즈 파라미터를 변경하여 4000 bytes 초과로 조정하게 되면, DB에서는 4000 bytes 이상으로 저장은 되지만 Application 단이나 내부 프로시저에서는 기존 DB 컬럼 최대 사이즈에 맞춰 4000 bytes만 읽을 수 있기 때문에 잘못된 값이 호출되거나 다른 문제가 발생할 수도 있기 때문이다.

위 파라미터를 사용하게 되면 최대 문자열 사이즈를 조정할 수 있는데, 사이즈 변경을 위해서는 DB 오프라인 후 Upgrade 모드(startup upgrade)로 진입하여 파라미터 변경이 가능하다. 따라서 운영 DB인 경우, 일정 시간 정도의 Downtime이 필요하게 된다.
After changing parameter Max_string_size=extended can I revert back to Standard (Doc ID 2383964.1)
거기에 더해 Oracle MOS에서는 해당 파라미터(MAX_STRING_SIZE)를 확장(EXTENDED)으로 변경하게 되면 다시 STANDARD로 되돌릴 수 없다고 가이드 하고 있다. 이렇게 되면 DB 재생성을 진행할 수도 있는 가능성도 존재한다. 따라서 MAX_STRING_SIZE 파라미터만 변경한다고 해서 해결될 문제가 아니며, 변경을 하게 된다면 Application, 프로시저 등 복합적인 호환성 체크가 필요할 것으로 보여진다.