트러블슈팅(Trouble Shooting)

DB2 실행 계획 에러(Error updating database. Cause: com.ibm.db2.jcc.am.SqlException: The Explain table)

토끼C 2023. 6. 28. 11:59
반응형

db2에서 실행 계획(Explain)을 사용하니 다음과 같은 에러가 발생했다.

 

### Error updating database. Cause: com.ibm.db2.jcc.am.SqlException: The Explain table "DB2.EXPLAIN_OBJECT", column "OBJECT_TENANTID" does not have the proper definition or is missing.. SQLCODE=-220, SQLSTATE=55002, DRIVER=3.69.78
### Cause: com.inm.db2.jcc.am.SqlException: The Explain table "DB2.EXPLAIN_OBJECT", column "OBJECT_TENANTID" does not have the proper definition or is missing.. SQLCODE=-220, SQLSTATE=55002, DRIVER=3.69.78

 

 에러 팝업창의 Cause를 보니 EXPLAIN_OBJECT 테이블의 OBJECT_TENENTID가 정의되지 않거나 찾을 수 없는 것으로 보인다.

  DDL문이 정상적으로 동작한 것으로 보아 SQL문 자체의 문제는 아닌것 같다. 처음에는 Driver 버전의 문제인줄 알고 드라이버 버전만 바꾸며 다시 해봤지만 되지 않았다..

 

실제 원인은 db2의 버전 문제였다.

필자가 설치한 DB2는 10.5V였지만, 사용한 EXPLAIN.DDL문은 11.5V의 DDL문이었다.

버전이 올라가면서 EXPLAIN.DDL 컬럼이 수정된 것 같다.

 

10.5V의 EXPLAIN.DDL을 사용하니 정상적으로 작동했다.

반응형