普通用户使用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权限也得授予如上四个视图的权限才可以普通用户查看执行计划。

普通用户使用dbms_xplan包需要有的权限的更多相关文章

  1. Oracle性能优化之普通用户使用dbms_xplan包需要有的权限

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

  2. JAVA(二)异常/包及访问权限/多线程/泛型

    成鹏致远 | lcw.cnblog.com |2014-01-28 异常 1.异常的基本概念 异常是导致程序中断运行的一种指令流 基本的异常处理格式:try...catch,try中捕获异常,出现异常 ...

  3. Oracle下批量将一个用户的所有表的select权限赋值给另外一个用户

    起因 为什么会有这篇文章呢? 因为最近在做项目的时候遇到一个问题...实际生产环境中程序datasource登陆的Oracle数据库用户user1不是我们创建的.这个用户没有访问我们业务表的权限(因为 ...

  4. 在linux中添加ftp用户,并设置相应的权限

    在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test 2.建用户:在root用户下: useradd ...

  5. Oracle sys和system用户、sysdba 和sysoper系统权限、sysdba和dba角色的区别

    sys和system用户区别 1)最重要的区别,存储的数据的重要性不同 sys所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己 ...

  6. linux中添加ftp用户,并设置相应的权限

    在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test 2.建用户:在root用户下: useradd ...

  7. C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限

    C#修改文件或文件夹的权限,为指定用户.用户组添加完全控制权限 public void SetFileRole(string foldPath) { DirectorySecurity fsec = ...

  8. CentOS 6下配置本地用户访问vsftpd并赋予写权限

    一.安装并测试可用性 1.安装命令 yum install vsftpd 2.配置防火墙,加入一行 -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT 在其它机测试 ...

  9. C#改动文件或目录的权限,为指定用户、用户组加入全然控制权限

    C#改动文件或文件夹的权限,为指定用户.用户组加入全然控制权限 //给Excel文件加入"Everyone,Users"用户组的全然控制权限 FileInfo fi = new F ...

随机推荐

  1. Gevent协程

    协程 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来 ...

  2. SQL关于limit的用法

    SELECT * FROM table  LIMIT [offset,] rows | rows OFFSET offset    在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时 ...

  3. js定义多行字符串

    js本身没有提供类似的定义方式,但是可以通过多行注释(/* */),已经借助function的方式来达到多行字符的定义,例如代码: var jstr = function() { var fun = ...

  4. 手机GPS为什么能在室内定位?

      为什么手机在室内也能定位?大部分人知道手机会通过GPS进行定位,其实手机定位系统并不是和我们的RTK完全一样的,因为那样就无法解释为何在室内也能定位了,这里我来科普一下智能手机的那些定位方法.   ...

  5. less 里面 opacity的写法

    今天写了个opacity, 竟然less编译不过,上网搜了一个写法 .opacity (@opacity) { @opacityPercentage: @opacity * 100; opacity: ...

  6. 收藏的 500多个开源的Git源码

    由dkhamsing发起的Open-Source iOS Apps收集了各种开源的iOS App,并进行了详细的分类,比如游戏.社交.健康.键盘.定位.多媒体.新闻.办公.安全以及小工具类等.截至目前 ...

  7. text-shadow文字阴影属性用法

    text-shadow:offset-x:阴影水平移动,负值时向左偏移 text-shadow:offset-y:阴影垂直移动,负值时向上移动 text-shadow:radio-bluer:阴影到实 ...

  8. qq协助

    今天和一个朋友开完笑说让我进他的电脑,从而出现这篇文章!!!!   目前的QQ版本支持远程协助,所以想到通过两个QQ号码完成对另一台电脑的控制第一台电脑:1.自动登录QQ2.打开另一个QQ号码窗口3. ...

  9. svn服务器搭建与使用

  10. The Singleton pattern

    作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类. 单例模式的结构 单例模式的特点: 单例类只能有一个实例. 单例类必须自己创建自己的唯一 ...