Chinaunix首页 | 论坛 | 博客
  • 博客访问: 711864
  • 博文数量: 94
  • 博客积分: 1937
  • 博客等级: 上尉
  • 技术积分: 1618
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-04 18:46
个人简介

专注数据库开发管理

文章分类

全部博文(94)

文章存档

2015年(1)

2014年(2)

2013年(19)

2012年(32)

2011年(10)

2010年(30)

分类: Oracle

2013-02-06 16:47:25

定义:一组权限的集合,既可以是系统权限也可以是对象权限。


角色创建语法:
create role r1 not identified; -- not identified 可省略
create role r2 identified by r2; -- 带口令

create role r3 identified externally; -- 外部验证


修改角色

alter role r2 not identified; -- r2改为不带口令验证


检查角色是否带口令

select * from dba_roles where role in ('R1','R2','R3');


角色授权
grant create session to r1;
grant select any table to r1 with admin option; -- with admin option可将该角色赋予其它角色

grant r1,r2 to public; -- 角色授予所有用户


-- 角色回收
revoke r1,r2,r3 from u1;

revoke r1 from public;


-- 角色与角色 role = RoleName

select * from role_role_privs;


-- 用户拥有的角色 grantee = UserName

select * from dba_role_privs;


-- 角色与系统权限 role = RoleName

select * from role_sys_privs;


-- 角色与对象权限 role = RoleName

select * from role_tab_privs;


角色与系统权限对应关系

select * from role_sys_privs;


当前用户角色与对象关系

select * from user_tab_privs_made;


角色与用户对应关系

select * from dba_role_privs;


当前用户具有的权限

select * from session_privs;


设置用户的默认权限

alter user u1 default role r1,r2;


授予用户的所有权限都为默认角色
alter user u1 default role all;

alter user u1 default role all except r2;


用户被授予的权限

select * from session_roles;


禁止用户的所有角色

set role none;


启用用户的角色
set role r3 identified by r3;

set role all except r2;


表空间与磁盘空间对应关系

select username,tablespace_name,bytes/1024/1024 ,max_bytes/1024/1024 from dba_ts_quotas;


常用预定义角色
exp_full_database 导出数据库的权限
imp_full_database 导入数据库的权限
select_catalog_role 查询数据字典的权限
execute_catalog_role 数据字典的执行权限

delete_catalog_role 数据字典的删除权限

dba、connect、resource 兼容旧版本而设置



-- The End --
阅读(1171) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~