各位大牛好,小弟遇到一个问题,需要请各位老铁帮帮忙。
现在我需要收集起用户的权限,oracle数据库中有用户权限,角色权限,还有组权限,我现在需要统计出每个用户在哪个时间断有什么权限,他所属的组有哪些权限,赋予的角色有哪些权限,如何关联这几张存权限的表(主要还不知道oracle数据库存这几个权限的表是哪几个),有做过类似的项目的兄弟吗,来探讨一下!

解决方案 »

  1.   

    user_role_privs 
    user_tab_privs
    user_sys_privs这三个视图可以查看自己的权限。
      

  2.   

    1.查看所有用户:  
    select * from dba_user;  2.查看用户系统权限:  
    select * from dba_sys_privs;  3.查看用户对象权限:  
    select * from dba_tab_privs;  4.查看所有角色:  
    select * from dba_roles;5.查看用户所拥有的角色:  
    select * from dba_role_privs;  
      
    6.查看某个角色的具体权限,   
    SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='RESOURCE';