您好,登錄后才能下訂單哦!
與對象權限有關的視圖有以下幾個,TAB表示表權限,COL表示列權限:
USER_TAB_PRIVS_MADE
USER_TAB_PRIVS_RECD
ALL_TAB_PRIVS_MADE
ALL_TAB_PRIVS_RECD
USER_COL_PRIVS_MADE
USER_COL_PRIVS_RECD
ALL_COL_PRIVS_MADE
ALL_COL_PRIVS_RECD
由于以上視圖非常類似,所以就拿USER_TAB_PRIVS_MADE,USER_TAB_PRIVS_RECD這兩個視圖舉例。
1.USER_TAB_PRIVS_MADE視圖為以下結構,簡單的說就是表示當前用戶授予其他用戶的表權限。
列 | 類 型 | 說 明 |
grantee | VARCHAR2(30) | 該特權所授予的用戶 |
table_name | VARCHAR2(30) | 所授予的特權所操作的對象名 |
column_name | VARCHAR2(30) | 所授予的特權所操作的對象名 |
grantor | VARCHAR2(30) | 授權者 |
privilege | VARCHAR2(40) | 對該對象授予的特權 |
grantable | VARCHAR2(3) | 特權所授予的用戶是否可以將這種特權再授予其他用戶。該值等于YES或NO |
2.USER_TAB_PRIVS_RECD視圖為以下結構,簡單的說就是表示其他用戶授予當前用戶的表權限。
列 | 類 型 | 說 明 |
owner | VARCHAR2(30) | 擁有該對象的用戶 |
table_name | VARCHAR2(30) | 所授予的特權所操作的對象名 |
grantor | VARCHAR2(30) | 授權者 |
privilege | VARCHAR2(40) | 對該對象授予的特權 |
grantable | VARCHAR2(3) | 特權所授予的用戶是否可以將這種特權再授予其他用戶。該值等于YES或NO |
hierarchy | VARCHAR2(3) | 特權是否構成層次關系。該值等于YES或NO |
我想通過以上兩個視圖的解釋就很明了了,通俗的說以MADE結尾的視圖是表示我授予別人的權限,RECD結尾的就是別人授予我的權限。
--查詢已授予的對象權限(即某個用戶對哪些表對哪些用戶開放了對象權限)
以test用戶登錄,test用戶是有dba權限的
SQL> SELECT * FROM user_tab_privs_made; --查出test用戶對哪些開放的對象權限
TEST@orcl>SELECT * FROM user_tab_privs_made; GRANTEE TABLE_NAME GRANTOR PRIVILEGE GRA HIE ------------------------------ ------------------------------ --------------------- ----------------- ------ ------ JKWY INTERFACEUSERS TEST SELECT NO NO
以test1用戶登錄,查看當前用戶給tom用戶分配只有查詢dn表權限
SQL> select grantee, owner, table_name, privilege from user_tab_privs;
GRANTEE OWNER TABLE_NAME PRIVILEGE ------------------------------ --------------------- ---------------------- -------------------- TOM TEST1 DN SELECT
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。