SCOTT 用户开启autotrace 功能
admin
2023-05-14 05:01:51
0

想用SCOTT用户做执行计划的实验,发现无法使用;按理说任何可以使用sqlplus 的用户都可以在session下启用autotrace 功能,不过有的需要做下设置;



sys 用户

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE    11.2.0.3.0      Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production

SQL> select username,account_status from dba_users where username='SCOTT';

USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
SCOTT                          EXPIRED & LOCKED


SQL> alter user scott account  unlock identified by tiger;

User altered.


SQL>
SQL> select username,account_status from dba_users where username='SCOTT';

USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
SCOTT                          OPEN


SCOTT 用户登录


SQL> set autotrace on     //提示检查PLUSTRACE角色是否开启,

SP2-0618: Cannot find the Session Identifier.  Check PLUSTRACE role is enabled
SP2-0611: Error enabling STATISTICS report


解决过程

1、以SYS用户登录,运行utlxplan.sql. 建立plan 表;

SQL> @?/rdbms/admin/utlxplan.sql           
Table created.

2、以sys用户登录,运行plustrce.sql,数据库启用autotrace功能的安装脚本,主要是创建plustrace角色,并且授权 ,拥有plustrace最主要的目的是为了访问下面几个VIEW :v_$sesstat;v_$statname;v_$mystat;

SQL> @?/sqlplus/admin/plustrce.sql
SQL>
SQL> drop role plustrace;
drop role plustrace
          *
ERROR at line 1:
ORA-01919: role 'PLUSTRACE' does not exist


SQL> create role plustrace;

Role created.

SQL>
SQL> grant select on v_$sesstat to plustrace;

Grant succeeded.

SQL> grant select on v_$statname to plustrace;

Grant succeeded.

SQL> grant select on v_$mystat to plustrace;

Grant succeeded.

SQL> grant plustrace to dba with admin option;

Grant succeeded.

SQL>
SQL> set echo off

SQL> grant plustrace to scott;

Grant succeeded.

3、以SCOTT 登录

SQL> set autotrace on
SQL>
SQL> select * from dept;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON


Execution Plan
----------------------------------------------------------
Plan hash value: 3383998547

--------------------------------------------------------------------------
| Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |     4 |    80 |     3   (0)| 00:00:01 |
|   1 |  TABLE ACCESS FULL| DEPT |     4 |    80 |     3   (0)| 00:00:01 |
--------------------------------------------------------------------------


Statistics
----------------------------------------------------------
          2  recursive calls
          0  db block gets
         10  consistent gets
          4  physical reads
          0  redo size
        802  bytes sent via SQL*Net to client
        523  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          4  rows processed

SQL>




 设置Autotrace的命令

序号

命令

解释

1

SET AUTOTRACE OFF

此为默认值,即关闭Autotrace

2

SET AUTOTRACE ON

产生结果集和解释计划并列出统计

3

SET AUTOTRACE ON EXPLAIN     

显示结果集和解释计划不显示统计

4

SET AUTOTRACE TRACEONLY 

显示解释计划和统计,尽管执行该语句但您将看不到结果集

5

SET AUTOTRACE TRACEONLY STATISTICS  

只显示统计

PS:SET AUTOTRACE ON, set timing on, alter session set time_statistics=true;

Autotrace执行计划的各列的涵义

序号

列名

解释

1

ID_PLUS_EXP                          

每一步骤的行号

2

PARENT_ID_PLUS_EXP        

每一步的Parent的级别号

3

PLAN_PLUS_EXP                   

实际的每步

4

OBJECT_NODE_PLUS_EXP

Dblink或并行查询时才会用到

 Autotrace Statistics常用列解释

序号

列名

解释

1

db block gets       

从buffer cache中读取的block的数量

2

consistent gets  

从buffer cache中读取的undo数据的block的数量

3

physical reads   

从磁盘读取的block的数量

4

redo size             

DML生成的redo的大小

5

sorts (memory)  

在内存执行的排序量

6

sorts (disk)         

在磁盘上执行的排序量




相关内容

热门资讯

马尔代夫史上最严重单次潜水事故... 当地时间14日,在马尔代夫发生一起5名游客在潜水时全部身亡的惨剧。遇难者中包括一名大学教授和她的女儿...
180多万元莫名通过支付宝捐给... “关闭支付功能后 180多万元凌晨莫名通过支付宝捐给慈善机构”一事被曝光后,引发网友高度关注。5月1...
日本自卫队,该去捕熊了 当你清晨起床,看到一头陌生的黑熊正在敲你家的玻璃窗,是什么感觉?今年,日本的“熊灾”愈发厉害了。这些...
美团龙珠等入股AI软件开发商超... 天眼查App显示,近日,上海超维无际电子科技有限责任公司发生工商变更,新增北京龙珠股权投资基金合伙企...
苹果华为高端机降价 华为Pur... 5月15日,618大促前夕,华为苹果率先打响高端手机价格战,iPhone 17 Pro在京东、天猫、...
智启确山·AI赋能 确山县第七... 大象新闻记者 雷刚 通讯员 李闯志 纪兴红 为推进人工智能科普教育,点燃青少年科创梦想,2026年5...
社团焕彩逐光前行 科技赋能筑梦... 为进一步提升全区学校社团建设水平,搭建校际交流互鉴平台,5月12日,梁园区2026年中小学学生社团巡...
吃火锅、蒸桑拿、访企业,这位北... ·明凯,1966年出生,毕业于芬兰赫尔辛基大学政治史专业,2024年起出任芬兰驻华大使至今。当地时间...
除了大熊猫,这些外国市长还想从... 5月15日,成都飘起小雨。作为配套活动之一,2026成都国际友城合作与发展大会的嘉宾们走进成都大熊猫...
郑州新城建一期进入收尾阶段,C... 【大河财立方 记者 唐卫东】 随着第58个世界电信和信息社会日临近,郑州“新城建”试点项目迎来阶段性...