在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中方式可以根據實際情況隨意使用,已達到使用目的。