【显示执行计划】在普通用户下使用set autot 查看执行计划

简介: 在普通用户下查看执行计划 时 ,会遇到如下问题: SQL> CONN SCOTT/SCOTT已连接。SQL> SET AUTOT TRACE搜集统计信息时出错 ORA-942SP2-0611: 启用 STATISTICS 报告时出错SQL> SET AUTOT...

在普通用户下查看执行计划 时 ,会遇到如下问题:

SQL> CONN SCOTT/SCOTT
已连接。
SQL> SET AUTOT TRACE
搜集统计信息时出错 ORA-942
SP2-0611: 启用 STATISTICS 报告时出错

SQL> SET AUTOT ON
搜集统计信息时出错 ORA-942
SP2-0611: 启用 STATISTICS 报告时出错
SQL> SET AUTOT OFF
SQL> SET AUTOT ON
搜集统计信息时出错 ORA-942
SP2-0611: 启用 STATISTICS 报告时出错

一般导致AUTOTRACE失败不是因为PLAN_TABLE不存在,就是由于缺少PLUSTRACE角色或PLUSTRACE角色包含的视图权限。

SQL> grant plustrace to scott;
grant plustrace to scott
      *
ERROR at line 1:
ORA-01919: role 'PLUSTRACE' does not exist  可见plustrace 角色不存在。

SQL> create role plustrace ;
Role created.
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 select on v$mystat to plustrace
                *
ERROR at line 1:
ORA-02030: can only select from fixed tables/views --容易犯的错误。

SQL> grant select on v_$mystat to plustrace;
Grant succeeded.
SQL> grant plustrace to scott;
Grant succeeded.
SQL> conn scott/scott
Connected.
SQL> set autot on
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: 1554282393
--------------------------------------------------------------------------
| 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
----------------------------------------------------------
          1  recursive calls
          0  db block gets
          8  consistent gets
          5  physical reads
          0  redo size
        776  bytes sent via SQL*Net to client
        492  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          4  rows processed

SQL>

目录
相关文章
|
3月前
|
SQL 关系型数据库 MySQL
MySQL数据库——索引(4)-SQL性能分析-profile详情、explain(profile查看指令,explain执行计划中各个字段的含义)
MySQL数据库——索引(4)-SQL性能分析-profile详情、explain(profile查看指令,explain执行计划中各个字段的含义)
44 2
|
SQL 关系型数据库 MySQL
vMySQL的explain解释SQL执行计划,优化SQL执行和创建索引
这里举例说明如何查看MySQL的SQL执行计划,并根据执行计划创建索引。
144 0
|
SQL 程序员 开发工具
【Sql Server】基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
515 0
【Sql Server】基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
|
SQL 关系型数据库 MySQL
mysql in 子查询中group by数据不准确记录
mysql in 子查询中group by数据不准确记录
378 0
|
SQL 索引 存储
SQL Server SQL性能优化之--pivot行列转换减少扫描计数优化查询语句
原文:SQL Server SQL性能优化之--pivot行列转换减少扫描计数优化查询语句 原文出处:http://www.cnblogs.com/wy123/p/5933734.html     先看常用的一种表结构设计方式:   那么可能会遇到一种典型的查询方式,主子表关联,查询子表中的某些(或者全部)Key点对应的Value,横向显示(也即以行的方式显示)   这种查询方式很明显的一个却显示多次对字表查询(暂时抛开索引)   相比这种查询方式很多人都遇到过,如果子表是配置信息之类的小表的话,问题不大,如果字表数据量较大,可能就会有影响了。
1229 0