oracle 数据库用户权限查询

作者:没什么大不了 | 创建时间: 2023-03-20
oracle 数据库用户权限查询,在工作中难免遇到要查询用户所拥有的权限。Oracle 数据库将权限分为系统权限和对象权限,因为权限过多一个一个授予用户比较繁琐,所以Oracle出了角色的概念,直接将角色授予用户就比较简便了,同时角色也可以...
oracle 数据库用户权限查询

操作方法

1、查询用户拥有的系统权限 SELECT GRANTEE,PRIVILEGE FROM DBA_SYS_PRIVS WHERE GRANTEE ='SCOTT'

2、查询用户拥有的对象权限 SELECT GRANTEE,TABLE_NAME,PRIVILEGE FROM DBA_TAB_PRIVS WHERE GRANTEE ='SCOTT'

3、查询用户拥有的角色 SELECT GRANTEE,GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE ='SCOTT'

4、合并查询用户所拥有的权限(此语句没有将角色拥有的系统权限对象权限角色扩展开,可以查到角色后自行查询,后期会将其扩展开来) SELECT GRANTEE,PRIVILEGE,'system privileges' TYPE FROM DBA_SYS_PRIVS WHERE GRANTEE ='SCOTT'UNION ALLSELECT GRANTEE,PRIVILEGE || ' ON '||TABLE_NAME,'object privileges' TYPE FROM DBA_TAB_PRIVS WHERE GRANTEE ='SCOTT'UNION ALLSELECT GRANTEE,GRANTED_ROLE,'user role' TYPE FROM DBA_ROLE_PRIVS WHERE GRANTEE ='SCOTT'

点击展开全文

更多推荐