大家好,
请教高手帮我回答一个小问题。
我想把Oracle中对某个表的访问权限被授予给了哪个用户的信息查询出来,怎么办?Oracle是否有现成预定义的东西呢?
例如.都有谁可以查询、操作 scott.emp 表,把他们找出来。
谢谢!

解决方案 »

  1.   

    PLSQL 里面有个 granted to users
      

  2.   

    --使用scott登录,查询scott的emp表授权情况
    SELECT * FROM user_tab_privs_made t where t.TABLE_NAME=upper('emp');
      

  3.   


    --user_tab_privs里面就存着授权的信息
    SQL> desc user_tab_privs
    Name       Type         Nullable Default Comments                                    
    ---------- ------------ -------- ------- ------------------------------------------- 
    GRANTEE    VARCHAR2(30)                  Name of the user to whom access was granted 
    OWNER      VARCHAR2(30)                  Owner of the object                         
    TABLE_NAME VARCHAR2(30)                  Name of the object                          
    GRANTOR    VARCHAR2(30)                  Name of the user who performed the grant    
    PRIVILEGE  VARCHAR2(40)                  Table Privilege                             
    GRANTABLE  VARCHAR2(3)  Y                Privilege is grantable                      
    HIERARCHY  VARCHAR2(3)  Y                Privilege is with hierarchy option