티베로에서 DDL을 수행할 때 "JDBC-5072 Failure converting NUMBER to or from a native type” error in tibero" 와 같은 오류 메시지를 볼 수 있다.
처음 보면 당황한다. 테이블에 데이터가 존재하기 때문에 나는 버그라고 착각하는데 이건 그냥 티베로 버그다.
_DD_TBL 테이블의 ROW_CNT가 NULL이어서 NUMBER가 아니기 때문에 오류가 난 것으로 파악된다.
해결방법
우선 SYS 계정으로 접속해야 한다.
단일 테이블이 문제인 경우
1.오류가 난 테이블의 OBJECT_ID를 검색한다.
SELECT OBJECT_ID FROM DBA_OBJECTS WHERE OBJECT_NAME = '(TABLE_NAME)';
2. 검색된 OBJECT_ID들의 ROW_CNT를 0으로 만든다.
UPDATE SYS._DD_TBL SET ROW_CNT = 0 WHERE OBJ_ID = (OBJECT_ID);
여러 테이블이 문제인 경우
1. 오류가 난 OBJECT ID를 확인한다.
SELECT A.OBJECT_ID
FROM DBA_OBJECTS A
INNER JOIN (SELECT OBJ_ID, ROW_CNT FROM SYS._DD_TBL ) B
ON A.OBJECT_ID = B.OBJ_ID
WHERE B.ROW_CNT IS NULL;
2. 해당하는 OBJECT_ID들의 ROW_CNT를 0으로 만든다.
UPDATE SYS._DD_TBL SET ROW_CNT = 0
WHERE OBJ_ID IN (
SELECT A.OBJECT_ID
FROM DBA_OBJECTS A INNER JOIN (SELECT OBJ_ID, ROW_CNT FROM SYS._DD_TBL ) B
ON A.OBJECT_ID = B.OBJ_ID
WHERE B.ROW_CNT IS NULL);
티베로 가이드에 이러한 내용이 전혀 반영되어 있지 않다.
간혹 여러개 테이블이 모두 문제가 생기는 경우가 있다.
'Data Layter > TIBERO' 카테고리의 다른 글
JDBC-5074 (0) | 2021.11.16 |
---|---|
Error (TBR-12033) : Lock acquisition failed in nowait mode (0) | 2020.08.26 |
pk unique index 삭제 (0) | 2020.07.31 |
Tibero_tibero is stopped or disabled. Please confirm the service state or event logs (Application / System) (0) | 2020.02.21 |
CMD에서 .sql파일 실행 방법 (0) | 2020.02.18 |