cubrid migration toolkit / CLOB 인코딩 이슈 해결방안 문의 (해결)

by 키롱 posted Nov 18, 2022
OS
Client : Windows 10 Pro 21H2 19044.2130 / Server : Rocky Linux 8.6 64bit
CUBRID Ver.
CUBRID 11.2 (11.2.2.0705-4ea991d) (64bit release build for Linux) (Oct 28 2022 16:13:18)
CUBRID TOOL Ver.
CUBRID Admin 11.1.1.0002 (64bit)
응용 환경(API)
jre 1.7, ojdbc7

 

-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
Oracle 11g 에서 CMT 로 넘기고 나서 CLOB의 한글 깨짐 이슈가 있습니다.

 

설정 확인 하다 보니

 

SELECT * FROM db_root; 에서

charset = 5, lang = en_US 로 나옵니다.

 

Oracle 쪽은 AL32UTF8 로 되어 있는데

 

이런 설정 차이가 CLOB의 인코딩 오류를 나타낼 수 있을까요?

 

아직 정확히 어떤 인코딩을 무엇으로 바꾸었을때 재현되는지는 알아내지 못했지만,

 

오라클 쪽에서 SELECT CONVERT('한글내용', 'AL32UTF8', 'KO16KSC5601') 혹은 SELECT CONVERT('한글내용', 'AL32UTF8', 'KO16MSWIN949') 로 바꿨을때 나오는 것과

가장 유사하게 인코딩이 깨집니다. (동일하게 깨진 글자가 몇몇 나오며 전체일치 하지는 않습니다)

다른 곳의 한글은 이슈가 없고 CLOB으로 넘어온 것들만 그렇게 나오네요.

 

깔끔하게 마이그가 되면 가장 좋겠지만,

차선으로서 큐브리드 상에서 현재 저장된 내용의 인코딩을 변경할 수 있으면 좋겠네요.


----------
(수정으로 추가)


SELECT CAST(clob_field AS VARCHAR) 로 하니 깨지지 않고 나오네요.
1. 그러면 왜 깨져 보이는걸까요?
2. 마이그 할 때 clob을 varchar로 변경해두면 좋겠는데 '원본 DB 객체와 대상 DB 객체 매핑' 에서만 varchar 로 변경하면 될까요? 확인할 사항이 있으면 알려주셨으면 합니다.

3. 이미 마이그된 필드를 alter 하는건 가능할까요?

 

4. (조금 다른 얘기 같지만) CMT에서 마이그 DDL 미리보기 해보니 comment가 모두 깨져 나옵니다. 이것은 해결할 수 있을까요?