请问在system模式下(不是在用户模式)  
如何查询其他用户所具备的角色  和 所拥有的权限(包括系统权限和对象权限)
                    

解决方案 »

  1.   


    --查看用户有哪些角色
    select granted_role from dba_role_privs where grantee='SCOTT';
    --查看用户(角色)有哪些权限
    select privilege from dba_sys_privs where grantee='SCOTT';
    select privilege from dba_sys_privs where grantee='CONNECT';
      

  2.   

    select username,Privilege * from USER_SYS_PRIVS;
      

  3.   

    --查看用户有哪些角色
    select granted_role from dba_role_privs where grantee='SCOTT';
    --查看用户(角色)有哪些权限
    select privilege from dba_sys_privs where grantee='SCOTT';
      

  4.   

    下一个toad,一个个展开,都变信息很全。
      

  5.   

    大哥   本人版本(oracle 9i 920繁体版)我在sys用户模式下 我新建一个用户test01   
    再grant connect,resource to test01;然后按照你说的执行select granted_role from dba_role_privs where grantee='test01';
    select privilege from dba_sys_privs where grantee='resource'为什么都没有结果呢   提示 没有任何资料列被选取 ?  求教~~~~
      

  6.   


    --要大写
    select granted_role from dba_role_privs where grantee='TEST01';
      

  7.   

     嗯 ,查询现在OK了,但是好像结果有些问题,并不是我想要的,我的步骤如下:
    1.新建角色 test_role 并赋予系统权限create session;
    2.新建用戶test01     并赋予系统权限create table;
    3.將角色test_role赋给用户test01此时,用户应该同时具有create session和create table两个系统权限,
    但是通过查询select * from dba_sys_privs where grantee='TEST01' 只能查到直接赋予的系统权限create table,而无法得到从角色中带来的另一权限create session。如果我想一次查询出来这两个权限的话应该怎么做?(仍然在SYS用户模式中查询)                   
     
    还有一个问题:就是如何用户的所有的对象权限应该如何一次查询出来???谢谢~~
      

  8.   


    select granted_role from user_role_privs where grantee='SCOTT';
    select privilege from user_sys_privs where grantee='SCOTT';
    select privilege from user_sys_privs wh……
      

  9.   

    查看用户对象权限,dba_tab_privs
             
      

  10.   

    #############################################針對整個系統
    查看系統中所有的用戶
    select username,user_id from dba_users;
    查看系統中所有的角色
    select * from DBA_ROLES;
    ##############################################針對一用戶
    查看某一用戶 直接賦予的系統權限     
    select * from DBA_SYS_PRIVS where grantee='TEST02';  ★ (用戶所有的直接系統權限 角色中的系統權限無法查詢)
    ???????????????????????????????????????????????????     (用戶所有的對象權限)查看某一用戶所有的角色
    select granted_role from DBA_ROLE_PRIVS where grantee='TEST02'; ★這一角色所有的權限(系統權限+對象權限)
    select * from ROLE_SYS_PRIVS where role='TEST_ROLE';  ★ 角色的系統權限 
    select * from ROLE_TAB_PRIVS where role='TEST_ROLE';  ★ 角色的對象權限 ############################################自查
    select * from SESSION_PRIVS;  ★ (當前用戶所有的 系統權限)    ==  select * from  USER_SYS_PRIVS
    當前用戶所有的 對象權限
    select table_name,owner,grantee,privilege from USER_TAB_PRIVS; ★(當前用戶所有的 直接對象权限)
    + select * from ROLE_TAB_PRIVS where role='TEST_ROLE';         ★(角色的對象權限)#select * from SESSION_ROLES; ★ (當前用戶自查 用戶所有的角色)  ==  select * from  USER_ROLE_PRIVS 
    #select * from USER_SYS_PRIVS (當前用戶所有的 直接系統權限)  
    ###########################################反查用戶
    查詢系統中具有DBA角色(權限)的用戶
    select * from DBA_ROLE_PRIVS where granted_role='DBA';