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

来源:互联网 发布:ppt生成视频软件 编辑:程序博客网 时间:2024/05/16 14:00
一,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.查看哪些用户有sysdbasysoper系统权限(查询时需要相应权限)

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

0 0