Welcome 微信登录

首页 / 数据库 / MySQL / 在sqlplus 启用autotrace并略看执行计划

1 如何启用sqlplus的autotrace功能?【pl/sql dev不支持这个功能】
 要用sys用户登入并下列步骤:
 (1)@? dbmsadminutlxplan  --建立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)@?sqlplusadminplustrce
 到此为止,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:含执行计划,统计信息
  • 1
  • 2
  • 下一页
Oracle监听配置及访问方式完全解析Oracle读一致性学习笔记相关资讯      Oracle数据库基础教程 
  • 在Oracle数据库中插入含有&符号的  (03/06/2013 09:20:14)
  • Oracle 执行计划更改导致数据加工  (02/13/2013 14:45:04)
  • 判断Oracle Sequence是否存在  (02/13/2013 14:32:26)
  • Oracle数据库中无法对数据表进行  (02/26/2013 14:24:58)
  • Oracle 在同一台主机上建立用户管  (02/13/2013 14:40:58)
  • Oracle em 无法启动,报not found错  (02/13/2013 14:29:48)
本文评论 查看全部评论 (0)
表情: 姓名: 字数