日期:2014-05-16  浏览次数:20585 次

Oracle查询指定用户有权限的所有表

在Oracle使用过程中经常会用到查看当前或者指定用户对哪些表拥有权限,一下几种方法可以实现查看当前或者指定用户对哪些表拥有权限。

 

方法1:

根据指定用户名获得对应用户所拥有权限的表

Sql代码 复制代码
  1. SQL> SELECT table_name, owner FROM all_tables WHERE owner = 'SCOTT';   
  2.     
  3. TABLE_NAME        OWNER   
  4. ------------------------------ ------------------------------  
  5. DEPT                      SCOTT   
  6. EMP                        SCOTT   
  7. BONUS                   SCOTT   
  8. SALGRADE             SCOTT  

 

方法2:

通过tab视图获得当前登录用户所有表和视图,通过tabletype过滤获得所有表

Sql代码 复制代码
  1. SQL> SELECT * FROM tab WHERE tabtype = 'TABLE';   
  2.     
  3. TNAME                   TABTYPE  CLUSTERID   
  4. ------------------------------ ------- ----------   
  5. DEPT                      TABLE    
  6. EMP                        TABLE    
  7. BONUS                   TABLE    
  8. SALGRADE             TABLE