您的位置:首页 > 数据库 > Oracle

【权限管理】Oracle中查看、回收用户权限

2014-09-25 17:24 1086 查看
一,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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: