欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2024-02-16 16:48:46
...

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

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