今天使用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$session,V$sesstat and V$statname tables
产生该错误的原因:
PL/SQL Developer在用户运行过程中,要收集用户统计信息,但是由于登录的用户没有访问v$session,v$sesstat and v$statname视图的权限,所以不能收集当前用户的统计信息,和PL/SQL
Developer工具中配置的Automatic Statistics相冲突,所以就出现了这个提示。
报错信息中描述的非常详细,原因是动态性能表没有权利被访问导致的问题,因此,我们通过把所需访问权限赋予给具体用户的方法来解决这个问题。
解决方法:
1、选择选中“Don't show this message again”选项,下次就不会再提示这个错误,但是没有从根本上解决这个问题。
2、关闭PL/SQL Developer的自动统计功能,点击菜单栏的Tools-->Preferences-->Oracle-->Options,去掉Automatic Statistics的勾,点击Apply和OK保存即可。
3、授权用户访问指定视图:
GRANT SELECT ON V_$session TO scott;
GRANT SELECT ON V_$sesstat TO scott;
GRANT SELECT ON V_$statname TO scott;
4、授权用户访问所有字典表:
GRANT SELECT ANY DICTIONARY TO scott