기술 정보
home
채널 소개
home

Tibero6 -> Tibero7 GIS column tbimport 시 hang 발생

문서 유형
장애 해결
분야
마이그레이션
키워드
geom_asbytes
GIS
tbexport
tbimport
적용 제품 버전
7FS02PS
1 more property

현상

특정 패치가 들어있는 Tibero 6 에서 Tibero 7 으로 tbexport/tbimport 수행 시, sys.log 상에는 별다른 에러가 발생하지 않지만 callstack 및 out 파일이 발생하며 hang 상태가 되는 현상입니다. 특히 Tibero 6 에서 Tibero 7 으로 tbimport 시 GIS 컬럼이 포함되있는 경우 hang 상태가 되면서 수행되지 않다가 callstack이 발생합니다.
-- Parameters: username=sys password=xxxx sid=susong port=5826 fromuser=ICSIGNAL touser=TIBERO table=SOITSCNCTEDGE ignore=y file=test.dmp log=test.log -- Import character set: UTF-8 -- FROM_USER ICSIGNAL TO_USER TIBERO: Wed Nov 09 08:46:14 KST 2022 -- Import national character set: UTF-16 -- importing from schema: "ICSIGNAL" to schema "TIBERO" -- importing table "SOITSCNCTEDGE" -- [FAILED] ("SOITSCNCTEDGE") TBR-10030: JDBC-10030:Invalid WKB geometry data. -- [FAILED] ("SOITSCNCTEDGE") TBR-10030: JDBC-10030:Invalid WKB geometry data. ............(동일에러 반복) -- [FAILED] ("SOITSCNCTEDGE") TBR-10030: JDBC-10030:Invalid WKB geometry data. -- importing index "PK_SOITSCNCTEDGE" -- importing constraint "PK_SOITSCNCTEDGE" -- importing constraint "_ICSIGNAL_CON385200161" -- importing constraint "_ICSIGNAL_CON385300747" -- importing constraint "_ICSIGNAL_CON385400322" -- importing constraint "_ICSIGNAL_CON385500891" -- importing constraint "_ICSIGNAL_CON385600448" -- importing constraint "_ICSIGNAL_CON385700019" -- importing constraint "_ICSIGNAL_CON385800568" -- importing constraint "_ICSIGNAL_CON385900136" -- Import completed with error: Wed Nov 09 08:47:51 KST 2022
SQL
복사

원인

특정 패치(227917)에서 geography 기능을 제공하기 위해 geometry 저장구조를 변경한 경우 발생할 수 있습니다.

Case 1. Tibero 6(227917패치 적용) -> Tibero 7

tbimport, tbexport과정에서 geom_from_wkb함수(Geometry 데이터 정합성을 확인하는 함수) 호출해서는 안되는 상황이나 호출되었으므로, 티맥스티베로에 문의하여 해결합니다.

Case 2. Tibero 6(227917패치 미 적용) -> Tibero 7

geom_from_wkb함수가 호출되는 것은 정상이고 tibero6에 비정상 데이터가 저장되어 있는 상황으로 고객측에서 데이터 확인이 필요합니다.

해결

1.
tbexport 수행 시 geom_asbytes 파라미터 Y로 사용하여 이관합니다.
2.
패치 적용 후 ST_IsValidGeomFormat, ST_IsValidWKB 함수를 통해 데이터를 수정 또는 확인 합니다. (적용패치: 294359a)
Tibero 7에 적합한 WKB 포맷 데이터 (Tibero 6 포맷) 변경 방법
SQL> update TBL set geom=st_geomfromwkb(geom) where st_isvalidwkb(geom)=1;
SQL
복사
Tibero 7 에서 미 지원 및 WKB 포맷 (Tibero 6 포맷) 아닌 데이터 확인 방법
SQL> select * from TBL where ST_IsValidGeomFormat(geom) = 0 and ST_IsValidWKB(geom) = 0;
SQL
복사
참고
이관 이후 운영중인 Application에서 Geometry 데이터 포맷 변경에 대해 인지하고 데이터를 수집하는 것인지 확인이 필요합니다.
주의
티맥스티베로에서 제공하는 기술지원을 통해 패치를 적용합니다.