一、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-tw/n/232408.html