在實際的工作中,大家如果想查看用戶在某個對象上面的使用權限時,可以考慮使用數據字典表DBA_TAB_PRIVS。詳細的表結構如下:
Name Null? Type
---------------------------- -------- ----------------------------
GRANTEE NOT NULL VARCHAR2(30) <== 權限獲得者
OWNER NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
GRANTOR NOT NULL VARCHAR2(30) <-- 權限授予者
PRIVILEGE NOT NULL VARCHAR2(40)
GRANTABLE VARCHAR2(3) <-- 權限獲得者是否有權限授予別人權限
權限由命令GRANT授予由命令REVOKE收回:
GRANT select, insert, update, delete, references ON my_table TO user_joe ;
REVOKE insert, delete ON my_table FROM user_joe ;
GRANT create public synonym TO user_joe ;
其他相關權限安全的數據字典表有:
ALL_TAB_PRIVS
ALL_TAB_PRIVS_MADE
ALL_TAB_PRIVS_RECD
DBA_SYS_PRIVS
DBA_ROLES
DBA_ROLE_PRIVS
ROLE_ROLE_PRIVS
ROLE_SYS_PRIVS
ROLE_TAB_PRIVS
SESSION_PRIVS
SESSION_ROLES
USER_SYS_PRIVS
USER_TAB_PRIV