一、Oracle查詢用戶權限命令
SQL> select * from dba_sys_privs where grantee = 'USERNAME'; SQL> select * from user_sys_privs; SQL> select * from role_sys_privs where role in (select granted_role from dba_role_privs where grantee = 'USERNAME');
以上三個查詢命令分別為在dba_sys_privs表、user_sys_privs表和role_sys_privs表中查詢用戶的系統權限和角色權限。
其中dba_sys_privs表存放數據庫中所有用戶的系統權限信息;user_sys_privs表存放當前用戶的系統權限信息;role_sys_privs表存放用戶所擁有角色的系統權限信息。
二、Oracle查詢用戶權限的語句
SELECT * FROM session_privs; SELECT * FROM dba_role_privs WHERE grantee = 'USERNAME'; SELECT * FROM dba_tab_privs WHERE grantee = 'USERNAME';
以上三個查詢語句分別為查詢當前用戶的權限、查詢用戶的角色權限和查詢用戶對錶的權限。
session_privs表記錄了當前用戶有哪些權限;dba_role_privs表記錄了所有角色的權限信息;dba_tab_privs表記錄了用戶對錶的權限信息。
三、Oracle查詢某個用戶的權限
SELECT * FROM dba_sys_privs WHERE grantee = 'USERNAME'; SELECT * FROM dba_role_privs WHERE grantee = 'USERNAME'; SELECT * FROM dba_tab_privs WHERE grantee = 'USERNAME';
以上三個查詢語句分別為查詢某個用戶的系統權限、角色權限和表權限。
dba_sys_privs表、dba_role_privs表和dba_tab_privs表都是記錄數據庫中所有用戶的權限信息,可以使用grantee字段來篩選某個用戶。
四、Oracle查詢用戶權限和角色
SELECT * FROM role_sys_privs WHERE role IN (SELECT granted_role FROM dba_role_privs WHERE grantee = 'USERNAME'); SELECT * FROM dba_sys_privs WHERE grantee = 'USERNAME';
以上兩個查詢語句分別為查詢用戶所擁有的角色和系統權限。
role_sys_privs表記錄了角色的權限信息,可以使用role字段來查詢某個角色的權限信息。
五、查詢Oracle用戶權限
SELECT * FROM user_sys_privs; SELECT * FROM user_role_privs; SELECT * FROM user_tab_privs;
以上三個查詢語句分別為查詢當前用戶的系統權限、角色權限和表權限。
user_sys_privs表、user_role_privs表和user_tab_privs表記錄了當前用戶的權限信息,可以直接查詢。
六、Oracle查詢用戶dba權限
SELCET * FROM dba_role_privs WHERE granted_role = 'DBA';
該查詢語句可以查詢擁有dba權限的所有用戶。
dba_role_privs表中記錄了所有角色的權限信息,可以用granted_role字段來查詢某個角色的權限。
七、Oracle給用戶查詢權限
GRANT SELECT ON table_name TO USERNAME;
以上語句為給某個用戶賦予查詢表的權限。
八、Oracle查詢當前用戶權限
SELECT * FROM session_privs;
該查詢語句可以查詢當前用戶的所有權限信息。
session_privs表中記錄了當前用戶的權限信息。
九、Oracle查看用戶權限的命令
SQL> show user;
該命令可以查詢當前用戶的權限信息和角色信息,並且顯示當前用戶的用戶名。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/232408.html