기술 정보
home
채널 소개
home

tbexport로 FBI 추출 시 DESC 옵션 누락 문제

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

현상

FBI(Function-Based Index)는 컬럼에 함수나 표현식을 적용한 결과에 대해 인덱스를 생성하는 방식으로, UPPER, SUBSTR, TRIM 등 문자열을 처리하는 함수(일반적으로 쌍따옴표 ""를 사용하는 경우 포함)가 주로 사용됩니다.
이러한 FBI 인덱스를 tbexport 를 통해 스크립트로 추출할시 , function에 쌍따옴표("")가 포함된 컬럼이 DESC(내림차순)으로 생성되어 있더라도, 추출된 스크립트에서는 DESC 속성이 누락되는 현상이 발생하였습니다.
아래와 같이 SUBSTR("TM_NO",5,8) DESC 로 생성된 인덱스를
SQL> create index tibero1.IDX_tbl_test_01 ON tibero1.tbl_test ( PLANT_CD ASC, SUBSTR("TM_NO",5,8) DESC ) LOGGING PCTFREE 10 INITRANS 2; Index 'TIBERO1.IDX_tbl_test_01' created.
SQL
복사
tbexport로 추출 후, log 및 script 확인 시 DESC가 누락된 채로 SUBSTR("TM_NO",5,8) 로 확인 됩니다.
$ tbexport username=sys password=tibero sid=tibero file=test.dat log=test.log table=tibero1.tbl_test port=9292 script=y $ vi test.log -- exporting indexes CREATE INDEX "IDX_PROD_MA_06" ON "PROD_MA" ( "PLANT_CD" ASC, SUBSTR("TM_NO",5,8) ) LOGGING TABLESPACE "USR" NOPARALLEL PCTFREE 10 INITRANS 2 /
SQL
복사

원인

Function-Based Index 내에 포함된 쌍따옴표("")에 대한 예외 처리가 코드 상에서 누락되어 있어, 해당 인덱스에 DESC(내림차순) 옵션이 포함되어 있더라도 이를 정상적으로 추출하지 못하는 로직 오류가 발생하였습니다.

해결

287049d_expimp 패치 적용을 통해 해결합니다.
주의
티맥스티베로에서 제공하는 기술지원을 통해 패치를 적용합니다.
본 패치는 패치셋(Patch Set)에 포함되어 있어, 패치셋 바이너리로 업그레이드하는 경우에도 문제가 해결됩니다.
정상 출력 예시
SUBSTR("TM_NO",5,8) DESC
$ vi test.log -- exporting indexes CREATE INDEX "IDX_PROD_MA_06" ON "PROD_MA" ( "PLANT_CD" ASC, SUBSTR("TM_NO",5,8) DESC ) LOGGING TABLESPACE "USR" NOPARALLEL PCTFREE 10 INITRANS 2 /
SQL
복사