>데이터 베이스 >MySQL 튜토리얼 >在sqlplus 启用autotrace并略看执行计划

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

WBOY
WBOY원래의
2016-06-07 17:14:491287검색

在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으로 문의하세요.