Oracle授予用户表SELECT权限后dba_sys_privs无记录问题咨询
Oracle权限查询不到的原因解答
- 你授予的
SELECT ON DEPT属于对象权限,而dba_sys_privs视图仅存储Oracle数据库的系统权限记录(比如CREATE TABLE、CREATE SESSION这类作用于全局的权限),所以自然查询不到对象权限的授予记录,这是该现象的核心原因。 - 若要查询该表权限的授予记录,需要查询存储对象权限的
dba_tab_privs视图,对应查询语句如下:
SELECT * FROM dba_tab_privs WHERE grantee = 'HOMERSIMPSON' AND table_name = 'DEPT' AND privilege = 'SELECT';
- 额外排查点:如果执行授权操作的用户和DEPT表的属主不是同一用户,且授权时没有指定表的属主前缀,也可能出现权限实际授予到了其他同名表、未对目标DEPT表授权的情况,排查时需要确认授权语句的表所属schema是否正确。
内容的提问来源于stack exchange,提问作者CrazyCoder
相关产品推荐
相关产品推荐

