普通用户使用dbms_xplan包查看执行计划需要对v$sql、v$sql_plan、v$session及v$sql_plan_statistics_all这四个视图同时具有select权限。

如果普通用户没有以上权限,执行SQL>select * from table(dbms_xplan.display_cursor(null,null,'advanced'));会报错如下:

SQL> select * from table(dbms_xplan.display_cursor(null,null,'advanced'));

PLAN_TABLE_OUTPUT

--------------------------------------------------------------------------------

User has no SELECT privilege on V$SESSION

为普通用户scott授予如上四个视图select权限:

SQL>grant select on v_$sql to scott;

SQL>grant select on v_$sql_plan to scott;

SQL>grant select on v_$sql_plan_statictics_all to scott;

SQL>grant select on v_$session to scott;

再次查询执行计划:

SQL> select * from table(dbms_xplan.display_cursor(null,null,'advanced'));

PLAN_TABLE_OUTPUT

---------------------------------------------------------------------------------------------------------------------------------SQL_ID  fv0v1agrdrjkv, child number 1

-----------------------------------------------------------------------------------------------------------------------

select * from table(dbms_xplan.display_cursor(null,null,'advanced'))

Plan hash value: 3713220770

---------------------------------------------------------------------------------------------------------------------------------

|Id|Operatio|Name|Rows|Bytes|Cost(%CPU)|Time  ---------------------------------------------------------------------------------------------------------------------------------

| 0 | SELECT STATEMENT |   |   |   |    29 (100)|  |    | 1 |  COLLECTION ITERATOR PICKLER FETCH| DISPLAY_CURSOR |     2 |     4 |    29   (0)| 00:00:01 |

PLAN_TABLE_OUTPUT

---------------------------------------------------------------------------------------------------------------------------------

Query Block Name / Object Alias (identified by operation id):

-------------------------------------------------------------

1 - SEL$4A78348A / KOKBF$@SEL$E112F6F0

Outline Data

-------------

/*+

PLAN_TABLE_OUTPUT

---------------------------------------------------------------------------------------------------------------------------------

BEGIN_OUTLINE_DATA

IGNORE_OPTIM_EMBEDDED_HINTS

OPTIMIZER_FEATURES_ENABLE('11.2.0.1')

DB_VERSION('11.2.0.1')

ALL_ROWS

FORCE_XML_QUERY_REWRITE

XML_DML_RWT_STMT

XMLINDEX_REWRITE

XMLINDEX_REWRITE_IN_SELECT

NO_COST_XML_QUERY_REWRITE

OUTLINE_LEAF(@"SEL$4A78348A")

PLAN_TABLE_OUTPUT

---------------------------------------------------------------------------------------------------------------------------------

MERGE(@"SEL$E112F6F0")

OUTLINE(@"SEL$1")

OUTLINE(@"SEL$E112F6F0")

FULL(@"SEL$4A78348A" "KOKBF$"@"SEL$E112F6F0")

END_OUTLINE_DATA

*/

Column Projection Information (identified by operation id):

-----------------------------------------------------------

1 - VALUE(A0)[300]

PLAN_TABLE_OUTPUT

---------------------------------------------------------------------------------------------------------------------------------

Note

-----

- cardinality feedback used for this statement

49 rows selected.

注意:授予普通用户dba权限也得授予如上四个视图的权限才可以普通用户查看执行计划。

Oracle性能优化之普通用户使用dbms_xplan包需要有的权限的更多相关文章

  1. 普通用户使用dbms_xplan包需要有的权限

    普通用户使用dbms_xplan包查看执行计划需要对v$sql.v$sql_plan.v$session及v$sql_plan_statistics_all这四个视图同时具有select权限. 如果普 ...

  2. oracle性能优化之awr分析

    oracle性能优化之awr分析 作者:bingjava 最近某证券公司系统在业务期间系统运行缓慢,初步排查怀疑是数据库存在性能问题,因此导出了oracle的awr报告进行分析,在此进行记录. 导致系 ...

  3. Oracle 性能优化的基本方法

    Oracle 性能优化的基本方法概述 1)设立合理的性能优化目标. 2)测量并记录当前性能. 3)确定当前Oracle性能瓶颈(Oracle等待什么.哪些SQL语句是该等待事件的成分). 4)把等待事 ...

  4. 【转载】我眼中的Oracle性能优化

    我眼中的Oracle性能优化 大家对于一个业务系统的运行关心有如下几个方面:功能性.稳定性.效率.安全性.而一个系统的性能有包含了网络性能.应用性能.中间件性能.数据库性能等等. 今天从数据库性能的角 ...

  5. 降低磁盘IO使Oracle性能优化(转)

    文章转自:http://blog.chinaunix.net/uid-26813519-id-3207996.html 硬件方面虽然只占Oracle性能优化的一个方面(另一方面是软件),但是仍不可忽视 ...

  6. 我眼中的 Oracle 性能优化

    恒生技术之眼 作者 林景忠 大家对于一个业务系统的运行关心有如下几个方面:功能性.稳定性.效率.安全性.而一个系统的性能有包含了网络性能.应用性能.中间件性能.数据库性能等等. 今天从数据库性能的角度 ...

  7. Oracle性能优化1-总体思路和误区

    最近在看梁敬彬老师关于Oracle性能优化的一些案例,在这里做一些简单的总结 1.COUNT(*)与COUNT(列)哪个更快 drop table t purge; create table t as ...

  8. Oracle性能优化小结

    Oracle性能优化小结 原则一.注意where子句中的连接顺序 Oracle采用自下而上的顺序解析where子句,根据这个原理,表之间的连接必须卸载其他where条件之前,哪些可以滤掉最大数量记录的 ...

  9. oracle性能优化(项目中的一个sql优化的简单记录)

    在项目中,写的sql主要以查询为主,但是数据量一大,就会突出sql性能优化的重要性.其实在数据量2000W以内,可以考虑索引,但超过2000W了,就要考虑分库分表这些了.本文主要记录在实际项目中,一个 ...

随机推荐

  1. 5 -- Hibernate的基本用法 --4 7 二级缓存相关属性

    Hibernate的SessionFactory可持有一个可选的二级缓存,通过使用这种二级缓存可以提高Hibernate的持久化访问的性能. Hibernate的二级缓存属性: ⊙ hibernate ...

  2. Maven -- 发布jar包至远程仓库

    啦啦啦

  3. sublime自定义代码段

    打开tools>developer>new snippet 默认代码 <snippet> <content><![CDATA[ Hello, ${1:this ...

  4. linux 下的爆破工具hydra

    http://www.cnblogs.com/mchina/archive/2013/01/01/2840815.html 安装手册 http://www.aldeid.com/wiki/Thc-hy ...

  5. SaltStack 批量分发文件

    这里演示如何将 salt-master 上的文件批量分发到多台 salt-minion,步骤如下: [root@localhost ~]$ cat /srv/salt/top.sls # 先定义入口配 ...

  6. 树莓派3安装opencv2程序无法运行

    在raspberry pi3 上安装opencv3已测试,没有问题,而opencv2报错如下: Xlib: extension "RANDR" missing on display ...

  7. android:listView Button 焦点问题

    要想listView的item与其上的button皆能得到焦点响应: 在listView item 的布局中: 在<RelativeLayout>中 android:descendantF ...

  8. Esper学习之十一:EPL语法(七)

    上一篇说到了EPL如何访问关系型数据库这种数据源,实际上别的数据源,比如:webservice.分布式缓存.非关系型数据库等等,Esper提供了统一的数据访问接口.然后今天会讲解如何创建另外一种事件类 ...

  9. 如何清除 DBA_DATAPUMP_JOBS 视图中的异常数据泵作业

    解决方案 用于这个例子中的作业: - 导出作业 SCOTT.EXPDP_20051121 是一个正在运行的 schema 级别的导出作业 - 导出作业 SCOTT.SYS_EXPORT_TABLE_0 ...

  10. git查看指令

    打开git bash 1,查看自己之前是否生成过ssh密钥 $ ls .ssh 如果存在这个id_rsa.pub这个文件的话表示已经生成了 2,查看用户名和邮箱 $ git config --glob ...