一,Oracle用户权限管理体系
简单介绍下用户、权限、角色,其中权限包括系统权限、对象权限,角色是一组权限和角色的组合,其中权限、角色可以授予给角色和用户。
二,查看用户及授予给用户的权限和角色
1.查看所有用户:
select * from dba_users;
select * from all_users;
select * from user_users;
2.查看用户或角色的系统权限(直接授予给用户或角色的系统权限):
select * from dba_sys_privs;
select * from user_sys_privs;
3.查看角色(只能查看登录用户拥有的角色)所包含的系统权限
sql>select * from role_sys_privs;
4.查看用户的对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
5.查看所有角色:
select * from dba_roles;
6.查看用户或角色所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;
7.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)
select * from V$PWFILE_USERS
注意:
1、以下语句可以查看Oracle提供的系统权限
select name from sys.system_privilege_map
2、查看一个用户的所有系统权限(包含角色的系统权限)
Sql代码
select privilege from dba_sys_privs where grantee='SCOTT'
union
select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='SCOTT' );
三、回收授予给用户的权限和角色
1,若要回收系统权限,则使用REVOKE命令,例如:
SQL>REVOKE CREATE TABLE FROM SCOTT;
2,若要回收对象权限,使用REVOKE,其语法如下:
REVOKE 对象权限名|ALL ON 对象名 FROM 用户名|角色名|PUBLIC。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14359/viewspace-777264/,如需转载,请注明出处,否则将追究法律责任。