一、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;
该命令可以查询当前用户的权限信息和角色信息,并且显示当前用户的用户名。