欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2024-02-16 21:13:10
...

在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:含执行计划,统计信息

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