ORA-00942错误一例

本文介绍了解决普通用户在使用PL/SQL Developer时遇到的查询权限问题的方法。通过正确授权视图上的SELECT权限,使得用户能够顺利执行查询操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

普通用户使用PL/SQL Developer进行查询操作报 动态执行表不可访问,本会话的自动统计被禁止,以前经常有这个警告也没放在心上,反正不影响使用,V$SESSION,V$SESSTAT,V$STATNAME没有被授权,没有权限访问这几张表,所以没有办法进行统计。
今天闲来无事,根据提示给用户授与相应视图上的select权限:
SQL> grant select on v$statname to scott;
grant select on v$statname to scott
                *
第 1 行出现错误:
ORA-00942: 表或视图不存在
这就奇怪了,视图明明是存在的呀?
用oerr查看了一下ORA-00942错误
[oracle@localhost ~]$ oerr ora 02030
02030, 00000, "can only select from fixed tables/views"
// *Cause:  An attempt is being made to perform. an operation other than
//         a retrieval from a fixed table/view.
// *Action:  You may only select rows from fixed tables/views.
原来如此:一个操作尝试从不是一个固定表或视图检索数据,你只可以选择行从固定表/视图
在网上一查资料,v$视图是指向v_$视图的同义詞
好吧这样授权:
SQL> grant select on v_$statname to scott;
SQL> grant select on v_$sesstat to scott;
SQL> grant select on v_$session to scott;
 SQL> grant select on v_$mystat to scott;
OK!这样是没问题的
再次使用相应用户执行查询操作就不会报错了

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9821572/viewspace-759008/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9821572/viewspace-759008/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值