현상
Tibero 7 (DB 7.0 FS02 Build 266408) 환경에서 기본 Job을 통해 통계정보 수집을 수행하던 중, 아래와 같은 오류가 발생하였습니다.
•
ERROR_PSM_ROWTYPE_MISMATCH(-15107) : Row type mismatch
•
ERROR_NUMBER_INVALID_ARGUMENT(-5073) : Invalid NUMBER provided for the operation
원인
indexed 컬럼 옵션으로 통계 수집 시, 임시 테이블을 생성하여 인덱스가 적용된 컬럼에 대해서만 통계를 수집합니다.
이 과정에서 인덱스가 없는 컬럼들이 중간에 제외되면서, 임시 테이블과 원본 테이블 간의 컬럼 번호가 어긋나는 현상이 발생할 수 있습니다.
이처럼 컬럼 정렬이 어긋난 상태에서 histogram을 생성하게 되면, 원래 의도한 컬럼이 아닌 다른 컬럼에 histogram이 생성되는 문제가 발생하며, 이로 인해 통계 수집 시 MISMATCH 오류가 발생하게 됩니다.
해결
히스토그램 생성 시 임시 테이블의 컬럼 번호가 원본 테이블과 일치하도록 처리하는 로직이 추가된 FS02_253667p 이상 버전의 253667 패치를 적용하면 문제를 해결할 수 있습니다.
주의
티맥스티베로에서 제공하는 기술지원을 통해 패치를 적용합니다.
참고
_opt_stat_collection_v2 = N; 으로 파라미터를 변경하여 회피할 수 있습니다.