当前位置:Gxlcms > mysql > Oracle查询指定用户有权限的所有表

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

时间:2021-07-01 10:21:17 帮助过:72人阅读

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

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

方法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中方式可以根据实际情况随意使用,已达到使用目的。

linux

人气教程排行