Oracle数据库如何搜集指定SQL的执行计划和解决过程中的ORA-00904错误|找不到指定的数据库

Oracle 数据库如何搜集指定SQL的执行计划和解决过程中的ORA-00904错误

(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)

如何收集指定SQL的执行计划对开发人员来说非常重要的,这里记录下基础的收集方式,以便查阅和其他人参考。

1. 链接到sqlplus,如下图

Oracle数据库如何搜集指定SQL的执行计划和解决过程中的ORA-00904错误1

2. 执行下面两个的命令之一

set autotrace on; (说明:打开自动分析统计,并显示SQL语句的运行结果)

3. 输入并执行要搜集执行计划的SQL语句。

Oracle数据库如何搜集指定SQL的执行计划和解决过程中的ORA-00904错误2

4. 这样执行计划就会打印出来。如上图

<喎�"/kf/ware/vc/" target="_blank" class="keylink">vcD48cD7I57n71NrK1byvtcS5/bPM1tDT9rW9T1JBLTAwOTA0OiZxdW90O09USEVSX1RBRyZx

dW90Ozqx6sq2t/vO3tCntcTOyszio6zI58/Czbw8L3A+PHA+PGltZyBzcmM9"/uploadfile/Collfiles/

20140403/201404030849428.jpg" alt="" />

那么我们需要

1. 先drop掉表plan_table;

2. 使用@$ORACLE_HOME/rdbms/admin/utlxplan.sql重建plan_table;如下图

Oracle数据库如何搜集指定SQL的执行计划和解决过程中的ORA-00904错误3

3. 重建完之后的搜集执行计划的效果如下。

Oracle数据库如何搜集指定SQL的执行计划和解决过程中的ORA-00904错误2