아래 예제와 같은 테이블 구조로 LOB 컬럼이 존재하며
트리거를 사용하여 Insert, Update, Delete 감지시
"TABLE_A"에서 "TABLE_B"로 데이터를 입력하는 업무를 수행함
테이블 구조 예제
TABLE_A COL1 VARCHAR(30) COL2 CLOB |
TABLE_B COL0 NUMERIC COL1 VARCHAR(30) COL2 CLOB COL3 CHAR(1) COL4 CHAR(1) |
이슈
특정 데이터 입력 또는 일괄 Update하는 과정에서 135217에러(컬럼타입 불일치)가 출력됨.
다양한 케이스로 확인한 결과 조작하는 ROW의 LOB컬럼 Byte합계가 30KB에 도달하면 해당 에러가 발생하였음.
해결
알티베이스측에 해당 내용을 전달한 결과
알티베이스 환경설정에 LOB_OBJECT_SIZE를 30KB으로 설정하여 발생한 이슈라고 전달받음
관련 담당자를 통하여 해당 사이즈를 늘린 다음 알티베이스를 재기동한 결과 해결되었음
제공된 Orange for Altibase로 점검하는 과정에서 Trigger가 제대로 출력되지 않는 현상이 발견됨.
Altibase에서 Insert, Update, Delete 트리거를 각각 만들어야하는데
Orange에서 Trigger 출력시 동일한 테이블에 걸려있는 트리거들의 내용들이 합쳐져서 출력되었음.