Home >Database >Mysql Tutorial >Oracle查询指定用户有权限的所有表

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:25:481394browse

在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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn