<转> plsql dev中Dynamic Performance Tables not accessible分析解决
相信很多使用plsql dev的朋友多遇到过类此如下面的提示:
Dynamic Performance Tables not accessible, Automatic Statistics Disabled for this session You can disable statistics in the preference menu,or obtanin selectpriviliges on the v$session,v$sesstat and v$statname tables |
一、产生该提示原因
plsql dev在用户运行过程中,要收集用户统计信息,但是由于你现在登录的用户没有访问v$session,v$sesstat and v$statname视图的权限,所以不能收集当前用户的统计信息,和plsql dev工具中配置的Automatic Statistics相冲突,所以就出现了这个提示,试验验证:
[oracle@xifenfei ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.3.0 Production on Thu Nov 10 04:31:57 2011Copyright (c) 1982, 2011, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionssys@XFF>create user chf identified by xifenfei;User created.sys@XFF>grant create session,resource to chf;Grant succeeded.sys@XFF>conn chf/xifenfeiConnected.chf@XFF>select * from session_privs;PRIVILEGE----------------------------------------CREATE SESSIONUNLIMITED TABLESPACECREATE TABLECREATE CLUSTERCREATE SEQUENCECREATE PROCEDURECREATE TRIGGERCREATE TYPECREATE OPERATORCREATE INDEXTYPE10 rows selected.chf@XFF>SELECT TABLE_NAME FROM USER_TAB_PRIVS;no rows selected |
创建一个chf用户,授权create session,resource,无v$session,v$sesstat and v$statname视图访问权限,使用plsql dev登录并查询user_tables表(登录时不会提示,只有用户执行了查询或者相关类此操作时候才会提示)
二、解决问题
根据警告提示,可以有两种方法解决这种警告
1、关闭plsql dev统计功能
在 Tools->Preferences->Options里 把Automatic Statistics前的那个勾子去掉,保存
2、给访问用户授权访问相关视图
授权访问v_$session,v_$sesstat,v_$statname,注意不能直接对v$视图进行授权
chf@XFF>conn / as sysdbaConnected.sys@XFF>grant select on v_$session to chf;Grant succeeded.sys@XFF>grant select on v_$sesstat to chf;Grant succeeded.sys@XFF>grant select on v_$statname to chf;Grant succeeded.sys@XFF>conn chf/xifenfeiConnected.chf@XFF>SELECT TABLE_NAME FROM USER_TAB_PRIVS;TABLE_NAME------------------------------V_$SESSIONV_$SESSTATV_$STATNAME |
三、问题分析
通过上面的解决方法,为什么授权访问v$session,v$sesstat and v$statname视图就可以Statistics用户的信息了呢?请见下面的两张图
图1:通过plsql dev中的tools–>session选项看用户统计信息
图2:通过sql语句查询用户统计信息
通过两张图的比较可能会发现,他们的数值有一点点出入,那是因为我先通过tools查询出用户统计信息,再通过sql查询,所以图1中的数据有些选项会比图2小那么一点点,通过对v$session,v$sesstat and v$statname视图分析,发现其实plsql dev就是通过下面sql实现统计功能,也从而进一步说明了,为什么plsql dev收集统计信息需要对v$session,v$sesstat and v$statname视图授于访问权限
SELECT C.NAME, B.STATISTIC#, B.VALUE FROM V$SESSION A, V$SESSTAT B, V$STATNAME C WHERE A.SID = B.SID AND A.AUDSID = USERENV('SESSIONID') AND B.STATISTIC# = C.STATISTIC# ORDER BY C.STATISTIC#; |
<转> plsql dev中Dynamic Performance Tables not accessible分析解决的更多相关文章
- plsql dev中Dynamic Performance Tables not accessible分析解决(转)
使用plsql dev的朋友多遇到过类此如下面的提示: Dynamic Performance Tables not accessible, Automatic Statistics Disabled ...
- 错误提示:Dynamic Performance Tables not accessible, Automatic Statistics Disabled for this session You can disable statistics in the preference menu,or obtanin select priviliges on the v$session,v$sess
1.错误提示:Dynamic Performance Tables not accessible, Automatic Statistics Disabled for this session You ...
- Dynamic Performance Tables not accessible Automatic Statistics disabled for this session
使用oracle时候统计会出现这个提示 Dynamic Performance Tables not accessible Automatic Statistics disabled for this ...
- plsql 中出现 Dynamic Performance Tables not accessible 问题解决
产生该提示原因: plsql dev在用户运行过程中,要收集用户统计信息,但是由于你现在登录的用户没有访问v$session,v$sesstat and v$statname视图的权限, 所以不能收集 ...
- PL/SQL连接查询数据报错时Dynamic Performance Tables not accessible
一.产生该提示原因plsql dev在用户运行过程中,要收集用户统计信息,但是由于你现在登录的用户没有访问v$session,v$sesstat and v$statname视图的权限,所以不能收集当 ...
- PL/SQL Developer 报错Dynamic Performance Tables not accessible, Automatic Statistics disabled for this session You can disable statistics in the preference menu, or obtain select priviliges on the V$ses
可以从以下几个方面考虑: 1)单独给用户授动态性能视图的权限: SQL> grant select on V_session to user; SQL> grant select on ...
- plsql dev引起的数据库被黑勒索比特币实现原理分析和解决方案
转自http://www.xifenfei.com/2016/11/plsql-dev-hacker-bitcoin.html afterconnect.sql是plsql dev登录后自动执行脚本, ...
- 客户机中PLSQL DEV访问虚拟机中的ORCLE11g,错误百出!
客户机中PLSQL DEV访问虚拟机中的ORCLE11g,错误百出! 创建时间: 2017/10/14 18:44 作者: CNSIMO 标签: ORACLE 忙了一下午,只有两个字形容:麻烦! ...
- C#中dynamic的正确用法
C#中dynamic的正确用法 http://www.cnblogs.com/qiuweiguo/archive/2011/08/03/2125982.html dynamic是FrameWork4 ...
随机推荐
- C# 之TripleDESCryptoServiceProvider类加密/解密程序
这篇博文的编写基于以下博客地址提供的知识: TripleDESCryptoServiceProvider 加密解密 基于该博客,我的毕业设计中密码存储加密字符串这一问题得到解决.
- Python全栈之路----函数----高阶函数
变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一函数作为参数,这种函数就称之为高阶函数. 只需满足以下任意一个条件,即是高阶函数: 接收一个或多个函数作为输入 def func(x, ...
- Arcgis属性表出现乱码
解决方案一:导入符号化字体: 在C:\Windows\Fonts文件夹下放入.TTF格式的字体库(此时加入农村二调_0.TTF和TDT10142007.ttf),便可使符号化的乱码显示正常. 解决方案 ...
- linux samba smb 在客户端无法连接使用
netstat -nutlp查看是否启动进程 1.网络是否正常,是否可以ping通.2.Windows和Linux的防火墙全部关闭.3.samba的端口是否开启,tcp/139.tcp/445.udp ...
- Linux下使用Nginx代理访问json文件报404错误
在网上看了很多,都说是IIS的问题,关键是使用servlet就可以正常访问,使用Nginx就不行,最后发现是其他问题,解决方案如下: 1.确认配置的路径是否正确,Nginx代理的路径和你访问的路径. ...
- URI,url简介
URI,URL是什么? URI :Uniform Resource Identifier,统一资源标识符: URL:Uniform Resource Locator,统一资源定位符: URN:Unif ...
- HTML前序
HTML基本格式 <!DOCTYPE html> //文档类型声明 <html lang="zh-cn"> //表示HTML文档开始,属性lang,属性值= ...
- Java BigInterger类
BigInteger概述 可以让超过Integer范围内的数据进行运算 构造方法 public BigInteger(String val) 成员方法 public BigInteger add(Bi ...
- 【SpringBoot】SpringBoot拦截器实战和 Servlet3.0自定义Filter、Listener
=================6.SpringBoot拦截器实战和 Servlet3.0自定义Filter.Listener ============ 1.深入SpringBoot2.x过滤器Fi ...
- Mac 永久添加 环境变量方法
在 ~ 目录下 新建 .bash_profile 文件 在文件新增 export PATH="$PATH:/Users/zhangpengchao/tools/flutter/flutter ...