解决ORACLE不能为v$name 对象授权问题

一、问题描述:

           以sys登录,执行grant select on v$transaction to username

            第 1 行出现错误:
            ORA-02030: 只能从固定的表/视图查询

           

二、问题查找
sys@CLC02> select OBJECT_TYPE from all_objects where lower(object_name)='v$transaction' ;

OBJECT_TYPE
-------------------

SYNONYM
查询对象类型,v$transaction是同义词,不能把同义词赋权给用户


sys@CLC02>  SELECT * FROM SYS.ALL_SYNONYMS WHERE SYNONYM_NAME='V$TRANSACTION' ;

OWNER                          SYNONYM_NAME                   TABLE_OWNER TABLE_NAME  DB_LINK
------------------------------ ------------------------------ -------------------------------   -------------------  ------------------
PUBLIC                         V$TRANSACTION                  SYS                                                          V_$TRANSACTION

查询v$transaction的DB_LINK 是v_$transaction

三、解决问题

执行grant select on v_$transaction to username,赋权成功。
就可以username就可以查询v_transaction视图了 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值