ホームページ >データベース >mysql チュートリアル >在sqlplus 启用autotrace并略看执行计划

在sqlplus 启用autotrace并略看执行计划

WBOY
WBOYオリジナル
2016-06-07 17:14:491288ブラウズ

在sqlplus 启用autotrace并略看执行计划,到此为止,DBA用户首先被授予了plustrace角色,然后我们可以把plustrace授予public。如果

1 如何启用sqlplus的autotrace功能?【pl/sql dev不支持这个功能】
 要用sys用户登入并下列步骤:
 (1)@?\rdbms\admin\utlxplan  --建立plan_table表
 (2)10G之前plan_table是没有同义词的,所以要加上create public synonym plan_table for plan_table。【此步:option】因为:In 10g, you don't need to create plan_table in your schema to explain plan. It uses the table plan_table$ belonging to SYS through a public synonym. The table is a session duration-based global temporary table. Makes perfect sense!
 (3)grant all on plan_table to public
 (4)@?\sqlplus\admin\plustrce
 到此为止,DBA用户首先被授予了plustrace角色,然后我们可以把plustrace授予public。如果你需要限制Autotrace权限,可以把对public的授权改为对特定user的授权。例如:grant plustrace to scott。
【倘若根据以上步骤不行,则:
1.
 1.)什么用户执行的set autotrace
 2.)plan_table和plustrace是否按照要求创建和授权
2.
如果都已经按照要求做过,,还报错的话,可以grant select any dictionary to your_user,再验证一下是否可以使用。
3. 
再不行drop plan_table重建呢?

Notice:
(1)Explain 唯一的限制是用户必须是所解释事物的所有者,否则可能报错。
(2)在pl/sql dev中,我们可以使用explain plan for+ select字句,然后再执行select * from table(DBMS_XPLAN.display)。

 关于Autotrace几个常用选项的说明:
  Set autotrace off :缺省值。
  Set autotrace on :含查询输出,执行计划,统计信息
   On后有两个可选参数:
    Explain:含查询输出,执行计划
    Statistics:含查询输出,统计信息
  Set autotrace traceonly:含执行计划,统计信息

linux

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。