读书人

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

发布时间: 2013-01-26 13:47:04 作者: rapoo

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

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

方法1:

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

Oracle查询指定用户有权限的全部表Oracle查询指定用户有权限的全部表
    SQL> SELECT table_name, owner FROM all_tables WHERE owner = 'SCOTT'; TABLE_NAME OWNER------------------------------ ------------------------------DEPT SCOTTEMP SCOTTBONUS SCOTTSALGRADE SCOTT

    方法2:

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

    Oracle查询指定用户有权限的全部表Oracle查询指定用户有权限的全部表
      SQL> SELECT * FROM tab WHERE tabtype = 'TABLE'; TNAME TABTYPE CLUSTERID------------------------------ ------- ----------DEPT TABLE EMP TABLE BONUS TABLE SALGRADE TABLE

      方法3:

      根据user_tables表获得当前用户拥有所有表

      Oracle查询指定用户有权限的全部表Oracle查询指定用户有权限的全部表
        SQL> SELECT table_name FROM user_tables; TABLE_NAME------------------------------DEPTEMPBONUSSALGRADE

        方法4:

        根据sys表空间下all_object表获得指定用户指定类型对象(表)

        Oracle查询指定用户有权限的全部表Oracle查询指定用户有权限的全部表
          SQL> SELECT object_name FROM sys.all_objects WHERE owner='SCOTT' AND object_type='TABLE'; OBJECT_NAME------------------------------DEPTEMPBONUSSALGRADE

          以上4中方式可以根据实际情况随意使用,已达到使用目的。

读书人网 >其他数据库

热点推荐