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

2014-11-24 18:14:23 · 作者: · 浏览: 0

方法1:


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


SQL> SELECT table_name, owner FROM all_tables WHERE owner = 'SCOTT';

TABLE_NAME OWNER
------------------------------ ------------------------------
DEPT SCOTT
EMP SCOTT
BONUS SCOTT
SALGRADE SCOTT


方法2:

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


SQL> SELECT * FROM tab WHERE tabtype = 'TABLE';

TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE


方法3:

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


SQL> SELECT table_name FROM user_tables;

TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE


方法4:

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


SQL> SELECT object_name FROM sys.all_objects WHERE owner='SCOTT' AND object_type='TABLE';

OBJECT_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE


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