CUBRID 버전 업그레이드 / 마이그레이션 시 주의할 사항
제가 직접 겪은 일입니다.
이 문제는 큐브리드 10.2.X 버전에서 발생하는 문제로,
마이너 버전 (버전 3번째 자리 X에 들어가는 숫자) 가
15 미만 버전 (이를테면 10.2.12) 에서 데이터를 백업해,
15 이상 버전 (이를테면 10.2.17) 에 데이터를 밀어넣으면 그 이후부터 발생합니다.
문제는 간단한데
CHAR 단일 타입 (크기는 상관없음) 을 PK나 인덱스로 가지고 있는 테이블을
조회 (SELECT) 하면
DB 자체 오류가 발생하며,
JDBC 에서는 문법오류로 뜹니다.
조치 방법은
물론 작업 자체를 취소하고 되돌리기 (제가 저거 원인 못찾아서 첫번째 시도때는 이 짓을 했었습니다.)
도 방법이지만
해당 테이블의 해당 인덱스 (PK도 해당됨) 를 드롭하고 재생성하면 해결됩니다.
혹은 테이블 자체를 재생성해도 됩니다. (원래의 테이블을 이름 바꾸고, 새로 생성한 다음 데이터를 옮기면 되죠.)
그래도 인덱스만 재생성하는 게 빠르죠.
큐브리드 기술지원 서비스로 담당자분이 같이 오셨었는데
첫번째 시도때는 둘 다 원인을 못찾아서 되돌렸고
어제 (두번째 시도) 때, 일단 테이블 재생성하니까 문제가 없어지는 겁니다.
일단 문제 자체는 없어졌으니 그걸로 작업은 끝냈고, 큐브리드 연구소에서 분석을 하셨다고…
10.2.X 의 마이너 버전 15 전후로 인덱스 데이터가 호환이 안된다고 합니다.