转载:TOAD中查看执行计划

转自:http://hi.baidu.com/suofang/blog/item/a75803b320cc3fa1d9335a93.html

一、TOAD中查看SQL执行计划

1、点击工具栏上120救护车图标按钮

2、快捷键Ctrl+E

3、菜单View-Explain plan

二、如果是默认安装TOAD,在查看执行计划时会报一个错:
ORA-02404: 未找到指定的计划表

稍微研究了一下,解决这个问题基本上有3个方案:
1、最直接的解决方案:直接创建TOAD所需要的计划表,该脚本在%oracle_home%\rdbms\admin\utlxplan.sql中,不过该脚本是创建PLAN_TABLE表,表结构一样,改名为TOAD_PLAN_TABLE 即可。如下:
CREATE TABLE TOAD_PLAN_TABLE (
   STATEMENT_ID     VARCHAR2 (32),
   TIMESTAMP        DATE,
   REMARKS       VARCHAR2 (80),
   OPERATION        VARCHAR2 (30),
   OPTIONS       VARCHAR2 (30),
   OBJECT_NODE    VARCHAR2 (128),
   OBJECT_OWNER     VARCHAR2 (30),
   OBJECT_NAME    VARCHAR2 (30),
   OBJECT_INSTANCE   NUMBER,
   OBJECT_TYPE    VARCHAR2 (30),
   SEARCH_COLUMNS NUMBER,
   ID             NUMBER,
   COST          NUMBER,
   PARENT_ID        NUMBER,
   POSITION       NUMBER,
   CARDINALITY    NUMBER,
   OPTIMIZER        VARCHAR2 (255),
   BYTES          NUMBER,
   OTHER_TAG        VARCHAR2 (255),
   OTHER          LONG,
   PARTITION        NUMBER,
   PARTITION_START   VARCHAR2 (255),
   PARTITION_STOP VARCHAR2 (255),
   DISTRIBUTION     VARCHAR2 (30) ) ;

2、偷机取巧的处理方案:修改TOAD参数
将菜单 View -> Options ->Oracle -> General -> Explain Plan Table name中的参数修改为PLAN_TABLE即可使用。

3、通过TOAD自带功能创建表结构:
在菜单 tools -> server side objects wizard下运行,不过要建立一些对象,最好建议一个单独的表空间放这些对象。

在10g中带有plan_table这张表,但是将名字改为了plan_table$
  只需$ORACLE_HOME/sqlplus/admin/plustrce.sql创建plustrace角色
  grant plustrace to public

posted @ 2011-04-14 11:54  尹庆超  阅读(1547)  评论(0编辑  收藏  举报