在使用PL/SQL Developer工具登陆一个新创建的用户进行查询时,报出以下错误(PL/SQL Developer版本:7.1.5 1403):
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$session,V$sesstat and V$statname tables
这个报错信息在不同的PL/SQL Developer版本都会出现,从上面详细的报错提示信息中我们可以判断得到,报错原因不在工具本身。
在此,详细记录一下这个小问题的三种处理方法。
1.第一种处理方法(不推荐)
就是在报错的Error对话框中将“Don't show this message again”选项选中,下次就不在提示这个错误了。
这种方法应该可以叫做“鸵鸟方式”的处理方法。没有从根本上解决这个问题。
2.第二种处理方法(可以采纳)
报错信息中描述的非常详细,原因是动态性能表没有权利被访问导致的问题,因此,我们通过把所需访问权限赋予给具体用户的方法来解决这个问题。
这里给出我能想到的三种具体处理方法。大家可以继续补充。
1)如果只是某一具体用户有权限查询这三个动态性能视图,可以如下进行操作
这里注意一下:我们授权的视图是V_$session不是V$session,因为V$session是同名不是具体的视图。否则您会收到下面这个错误。
[email protected]> grant select on V$session? to user_sec;
grant select on V$session? to user_sec
??????????????? *
ERROR at line 1:
ORA-02030: can only select from fixed tables/views
正确的授权方法如下:
SQL> grant select on V_$session? to user_sec;
SQL> grant select on V_$sesstat? to user_sec;
SQL> grant select on V_$statname to user_sec;
2)可以使用下面这个“简单粗暴”的方法处理之。
SQL> grant Select ANY DICTIONARY to user_sec;
3)以上两种方法是针对特定用户的处理方法,如果想让所有用户(不局限在上面的user_sec用户)都能够查询这三个动态性能视图,可以通过将查询权限授权给public方法来实现,操作如下。这样就可以保证所有开发人员都不会再出现上述的报错信息了。
SQL> grant select on V_$session? to public;
SQL> grant select on V_$sesstat? to public;
SQL> grant select on V_$statname to public;
3.第三种方法(推荐)
彻底禁掉PL/SQL Developer的这个功能。
方法如下:
导航到Tools --> Preferences --> Options
找到“Automatic Statistics”选项,将其前面的小对勾去掉,然后点击“Apply”和“OK”保存退出。
4.小结
之所以书写这个文章,只是给出一个处理问题的一般方法,这就是:“充分挖掘具体报错信息,从各种表面现象入手,逐步深入,最终得到满意的处理结果。”
最后谈一下DBA与数据库管理开发工具(如PL/SQL Developer、Toad等等)的关系。
如果您是纯开发DBA,那么强烈建议您认真的研究这些优秀高级工具的每一个细节,因为这样可以大大的提高您的工作效率。
如果您是纯维护DBA,告诉您一个好消息和一个坏消息。
好消息是:
您 的能力已经足够强大,没有必要再依赖这些工具。因为它们提供的那些定制好的功能已经远远的满足不了您对数据库细节的渴求;另外,即使在"一般"极端的故障 处理现场,您觉得有可能用这些工具连接到DB么?剩下的可能只有一头汗水与无奈的叹息,也许只有在那个时候您才会意识到:原来真正意义上的救命稻草是那个 看上去充满神秘色彩的SQL*Plus命令行工具;
坏消息是:
珍爱DBA生命,请您快些远离这些工具!
-- The End --
详细解决方案
PL/SQL Developer出错Dynamic Performance Tables not a
热度:228 发布时间:2016-05-05 13:16:50.0
相关解决方案
- dynamic web project怎么转成tomcat project
- 问大家一个 dynamic web project 和 tomcat的有关问题
- eclipse 怎么发布 Dynamic web project到Tomcat
- 在netbeans 6.1中创造的MIDlet在模拟运行的时候希望不是运行在wtk中,而是运行在nokia s60 v1的环境中应该装nokia developer suite的哪个版本
- 无法下载Nokia Developer's Suite 2.2 for J2ME,该如何解决
- spring insight developer edition 2.7.1 错误
- 急求:PL/SQL Developer 的Product code、Serial number以及Password,该怎么处理
- Developer Express .NET的破解解决办法
- DataSet.Tables 中怎么插入值
- ds.Tables[0].无值时,怎么判断
- ds.Tables[0].Rows.Count 能查到0表 但count=0 sql语句没有关问题
- Developer 2008 链接SQL2005数据库不报错,但是显示不出来数据内容,该怎么解决
- MS vs 2005 的 web developer 在哪里?该怎么处理
- CrystalReportSource1.ReportDocument.SetDataSource(ds.Tables[0])有关问题!
- CE 10 - The report has no tables. 代表什么意思,代表什么东东呢
- 求 DataSet.Tables["表名"].DefaultView的用法 !解决方案
- 新手提问:VS.NET 2005 和 Visual Web Developer 2005 是什么关系啊解决思路
- ·DataSet.Tables[0].Select()是什么意思?该怎么处理
- ds.Tables["表名"].Rows[][].ToString()读取dataset数据时报错!该如何处理
- 安装了Internet Explorer Developer Toolbar之后,iexplore.exe进程无法自动结束解决思路
- visual web developer 怎么调用自定义的控件 (.dll文件)
- Dynamic.cs 这个扩充库是否只支持linq to sql
- PL/SQL Developer 中做的设置怎么保存
- Oracle 11g中的SQL developer 连接中的connection name 填什么?该如何处理
- 高薪招聘Oracle Developer,5天结贴,顶就送,该如何处理
- WebSphere Integration Developer V6.0.2 能在win2003下运行么?解决方案
- 请问!怎么把Websphere Integration Developer 卸载干净
- Informix Dynamic Server Version 7.31 能否创建自定义函数
- informix -Unable to initialize the Dynamic Server.解决思路
- informix -Unable to initialize the Dynamic Server.解决办法