Oracle权限赋予的一些事

  1. 授予使用dbms_metadata.get_ddl()的权限
grant select_catalog_role to 用户名;

权限不足时,执行select dbms_metadata.get_ddl('TABLE', '表名', '用户名') from dual会报ORA-31603错误
2. 授予v$xxxx格式命名的系统视图的查询权限。

grant select on v_$xxxx to 用户名;

实际上v$xxx是视图v_$xxx的同义词,因此授权时需要根据同义词名查询系统视图实际的名字后才能授权,查询语句如下:

SELECT * FROM DBA_SYNONYMS WHERE SYNONYM_NAME='V$INSTANCE'
-- 从查询结果可知 V$INSTANCE是V_$INSTANCE的同义词,因此正确的赋权命令如下:
GRANT SELECT ON V_$INSTANCE TO 用户名;

如果使用同义词赋权则会报错ORA-01031: insufficient privileges或者ORA-02030: can only select from fixed tables/views错误

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值