기술 정보
home
채널 소개
home

T-Up 마이그레이션 중 '지원되지 않는 문자 집합 KO16MSWIN949 에러 발생

문서 유형
장애 해결
분야
마이그레이션
키워드
t-up
classpath
적용 제품 버전
6FS07
7FS02
1 more property

현상

T-Up 마이그레이션을 수행하는 도중, 아래와 같은 오류가 발생하며 작업이 중단되는 현상이 발생하였습니다.
java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949
SQL
복사

원인

해당 오류는 Oracle의 Character set이 KO16MSWIN949인 경우 발생할 수 있습니다.
이는 Oracle JDBC 드라이버가 기본적으로 해당 문자셋을 지원하지 않기 때문이며, 이 문제를 해결하려면 Oracle에서 제공하는 orai18n.jar 파일이 필요합니다.

해결

orai18n.jar 파일을 T-Up의 lib 폴더에 복사한 후, T-Up 실행 파일을 텍스트 편집기로 열어 아래와 같이 classpath를 수정한 뒤 재기동하시면 해결이 가능합니다.

1. clsspath 변경

AS-IS
set jdbc_lib=.\lib\ifxjdbc.jar;.\lib\ifxjdbcx.jar;.\lib\jconn4.jar;.\lib\jconn3.jar;.\lib\ojdbc8.jar;.\lib\tibero6-jdbc.jar;.\lib\updb6-jdbc.jar;.\lib\inspur11-jdbc.jar;.\lib\sqljdbc4.jar;.\lib\sqljdbc.jar;.\lib\sqlite-jdbc-3.23.1.jar;.\lib\hl_agent.jar;.\lib\internal-jdbc-16.jar
SQL
복사
TO-BE
set jdbc_lib=.\lib\ifxjdbc.jar;.\lib\ifxjdbcx.jar;.\lib\jconn4.jar;.\lib\jconn3.jar;.\lib\ojdbc8.jar;.\lib\tibero6-jdbc.jar;.\lib\updb6-jdbc.jar;.\lib\inspur11-jdbc.jar;.\lib\sqljdbc4.jar;.\lib\sqljdbc.jar;.\lib\sqlite-jdbc-3.23.1.jar;.\lib\hl_agent.jar;.\lib\internal-jdbc-16.jar;.\lib\orai18n.jar
SQL
복사

2. 마이그레이션 수행

AS-IS
SQL> SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET'; PARAMETER VALUE ------------------------------ -------------------- NLS_CHARACTERSET KO16MSWIN949 INFO[16:14:50,842][Thread-3]MigrationManager.migrateTable()(809) Querying source for table list ERROR[16:14:51,605][Thread-3]MigrationManager.run()(347) java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949 at oracle.sql.CharacterSetUnknown.failCharsetUnknown(CharacterSetFactoryThin.java:233) at oracle.sql.CharacterSetUnknown.convert(CharacterSetFactoryThin.java:194) at oracle.jdbc.driver.PhysicalConnection.throughDbCharset(PhysicalConnection.java:10365) at oracle.jdbc.driver.PhysicalConnection.enquoteIdentifier(PhysicalConnection.java:10442) at oracle.jdbc.driver.OracleStatement.enquoteIdentifier(OracleStatement.java:6452) at oracle.jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3853) at oracle.jdbc.driver.InsensitiveScrollableResultSet.findColumn(InsensitiveScrollableResultSet.java:270) at oracle.jdbc.driver.GeneratedResultSet.getInt(GeneratedResultSet.java:556) at com.tmax.tibero.tup.migrator.dd.OracleDDExtractor.setTableColumn(OracleDDExtractor.java:1323) at com.tmax.tibero.tup.migrator.dd.OracleDDExtractor.getTableList(OracleDDExtractor.java:799) at com.tmax.tibero.tup.migrator.MigrationManager.migrateTable(MigrationManager.java:810) at com.tmax.tibero.tup.migrator.MigrationManager.migrateSchemaObject(MigrationManager.java:705) at com.tmax.tibero.tup.migrator.MigrationManager.run(MigrationManager.java:327) at java.lang.Thread.run(Thread.java:750)
SQL
복사
TO-BE
SQL> SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET'; PARAMETER VALUE ------------------------------ -------------------- NLS_CHARACTERSET KO16MSWIN949 INFO[16:22:55,732][Thread-3]MigrationManager.alterCurrentSchema()(778) Alter schema to "sys" INFO[16:22:55,732][Thread-3]MigrationManager.createObjects()(1744) Objects to create:"sys" INFO[16:22:55,733][Thread-3]MigrationManager.printCompleteMsg()(1797) [(S) GENERATED] It took 1[ms] [Wed Jun 11 16:22:55 KST 2025] ... INFO[16:22:55,735][Thread-3]MigrationManager.printMigrateEnd()(545) Migration completed successfully: : Wed Jun 11 16:22:55 KST 2025
SQL
복사