软件开发Db2执行计划

db2无法获取执行计划?

版本9.7,做tsm备份获取不到执行计划,我的步骤1、创建执行计划表db2 -tvf EXPLAIN.DDL2、$ db2 set current explain mode explain3、$ db2 -tvf test.sql4、$ db2 set current explain mode no5、$ db2exfmt -d ** -g TIC -w -l -s % -n % -o db2exmt.out在db2exmt.out里的...显示全部

版本9.7,做tsm备份
获取不到执行计划,我的步骤
1、创建执行计划表

db2 -tvf EXPLAIN.DDL

2、$ db2 set current explain mode explain
3、$ db2 -tvf test.sql
4、$ db2 set current explain mode no
5、$ db2exfmt -d ** -g TIC -w -l -s % -n % -o db2exmt.out

在db2exmt.out里的输出是
DB2 Universal Database Version 9.7, 5622-044 (c) Copyright IBM Corp. 1991, 2009
Licensed Material - Program Property of IBM
IBM DATABASE 2 Explain Table Format Tool

No Explain instances (plans) were found for database , source pattern: %.% for explain table schema "".

不知道是什么原因

收起
参与11

查看其它 1 个回答topzgm的回答

topzgmtopzgm课题专家组软件架构设计师People's Bank of China

1)是否曾经做过数据库migrating?
2)应该会有错误信息吧?最好把每一步的输出都能够给出,以便定位问题。
3) 登录数据库,看看计划实例表是否存在,若存在看看是否有记录?
1.db2 connect to xdb user xusr using xpassword
2.db2 list tables | grep -i EXPLAIN
3.db2 "select * from EXPLAIN_INSTANCE with ur":看看这个输出?
4)如果还是找不到原因,可以实验一下方法:
先删除explan相关表:
db2 "CALL SYSPROC.SYSINSTALLOBJECTS('EXPLAIN','D',NULL,'DB2INST1')"
再重建explan相关表:
db2 "CALL SYSPROC.SYSINSTALLOBJECTS('EXPLAIN','C',NULL,'DB2INST1')"
最后,再看看是否能够正常输出explain。
备注,要注意建立explain表时的schema要和查询sql的schema一致。

银行 · 2017-11-15
浏览4208
王磊磊 邀答
  • 就是麻烦在过程没有报错,输出什么也没有
    2017-11-15
  • 1) 登录数据库,看看计划实例表是否存在,若存在看看是否有记录? 1.db2 connect to xdb user xusr using xpassword 2.db2 list tables | grep -i EXPLAIN 3.db2 "select * from EXPLAIN_INSTANCE with ur":看看这个输出? 2)如果还是找不到原因,可以实验一下方法: 先删除explan相关表: db2 "CALL SYSPROC.SYSINSTALLOBJECTS('EXPLAIN','D',NULL,'DB2INST1')" 再重建explan相关表: db2 "CALL SYSPROC.SYSINSTALLOBJECTS('EXPLAIN','C',NULL,'DB2INST1')" 最后,再看看是否能够正常输出explain。 备注,要注意建立explain表时的schema要和查询sql的schema一致。
    2017-11-16

回答者

topzgm
软件架构设计师People's Bank of China
擅长领域: 数据库服务器存储

topzgm 最近回答过的问题

回答状态

  • 发布时间:2017-11-15
  • 关注会员:3 人
  • 回答浏览:4208
  • X社区推广