Oracle11g权限--角色

角色: 是具备名称的一组相关权限的组合,即将不一样权限组合在一块儿就造成了角色。可使用角色为用户受权,一样也能够从用户中回收角色。
一个角色集合了多种权限,因此为用户授予某个角色时,至关于为用户授予多种权限。

使用角色的特色和优势
1> 并非一次一个地将权限直接授予一个用户,而是先建立角色,想该角色授予一些权限,而后在将该角色授予多个用户。
2> 在增长或者删除一个角色的权限时,被授予该角色的全部用户都会自动得到或失去相应权限。
3> 能够将多个角色授予一个用户。
4> 能够为角色摄者口令。

Oracle DB系统提供的预约义角色。

connect 具备最终用户的典型权限和最基本的权限,如:alter|create session;create cluster/database link/sequence/view/synonym

resourcr 主要是授予开发人员的,包括如下系统权限: create cluster|procedure|sequence|table|trigger|type等。

dba 拥有系统全部的系统权限。

exp_full_database 具备数据库逻辑备份时数据数据导出权限。

imp_full_database 具备数据库逻辑备份时数据数据导入权限。

delete_catalog_role 具备删除和重建数据字典所需的权限

execute_catalog_role 具备查询数据字典的权限。

select_catalog_role 具备从数据字典中执行部分存储过程和函数的权限。

建立角色 create role (用户需create role_name 权限)
create role role_name
[not idntified|identified by password]
role_name: 建立的角色名。
not identified: 表示该角色不须要口令就能够被启用或修改。
identified by password: 表示必须经过指定口令才能启用或修改该角色,默认没有口令。

为角色授予权限(新建立的角色是没有任何权限,可使用grant授予)
grant select, update,insert,delete on emp to role_name;
为用户授予角色,grant
grant role_name, create session to user_name;

实例:
建立角色: create role role_name identified by password;
为角色授予系统权限: grant create session, create table to role_name with admin option;
为角色授予对象权限: grant select, update,insert,delete on scott.emp to role_name;
建立用户: create user user_name identified by adminPassword;
为用户授予角色: grant role_name to user_name;

修改和删除角色1> 查看角色信息dba_roles  记录数据库中全部角色。dba_role_privs 记录全部已经被授予用户和角色的角色。user_roles 包含已经授予当前用户的角色信息。role_role_privs 包含角色授予角色信息。role_sys_privs  包含为角色授予的系统权限信息。role_tab_privs  包含为角色授予的对象权限信息.session_roles   包含当前会话所包含的角色信息。2> 修改角色(alter role)a。修改角色口令:alter role role_name[not identified|identified by password]alter role role_name not identified;alter role role_name identified by password;3> 删除角色 使用drop role role_name 角色被删除后,对于使用该角色的用户来讲,相应的权限同时被删除。