温州专业网站建设wordpress 网站关键词
目录
一、基础知识
1、基础介绍
2、Predefined Roles 预定义的角色
3、各种角色的介绍
二、基础操作
1、创建角色
2、修改用户默认role
3、回收role
4、删除role
5、为角色授权
6、授予角色给用户
7、查看用户包含的角色:
8、查看角色所包含的权限
9、为角色添加或删除口令
 
Managing Roles 管理角色
一、基础知识
1、基础介绍
在Oracle中,Roles是一种权限管理的机制,它可以被视为一组用户或其他Roles的集合。Roles可以分配给用户,从而在系统中管理访问权限。通过使用Roles,可以轻松地管理用户的访问权限和安全性,并且可以避免对每个用户进行单独的授权。Roles可以继承其他Roles的权限,并且可以包含多个权限对象(如表、序列、视图等)。这使得它更容易管理大规模的应用程序,同时提高了应用程序的安全性和可靠性。
2、Predefined Roles 预定义的角色
- CONNECT: 
- 连接到数据库、创建群集、数据库链接、序列、同义词、表和视图以及更改会话的权限。
 
 - RESOURCE: 
- 创建集群、表和序列的特权,以及创建程序化对象(如过程、函数、包、索引类型、类型、触发器和操作符) 的特权。
 
 - DBA: 
- 使用ADMIN选项的所有系统特权,因此可以将系统特权授予数据库的其他用户或角色。
 
 - SELECT_CATALO_ROLE:查询字典视图和表的能力。
 - EXECUTE_CATALO_ROLE:执行字典包(SYS拥有的包)的特权。
 
3、各种角色的介绍
- CONNECT,RESOURCE,DBA
 
- 这些预定义角色主要用于数据库管理。Oracle 建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。
 - DELETE_CATALOG_ROLE,EXECUTE_CATALOG_ROLE,SELECT_CATALOG_ROLE
 
- 这些角色主要用于访问数据字典视图和包。
 - EXP_FULL_DATABASE,IMP_FULL_DATABASE
 
- 这两个角色用于数据导入导出工具的使用。
 - AQ_USER_ROLE,AQ_ADMINISTRATOR_ROLE
 
- 这两个角色用于 Oracle 高级查询功能。
 - SNMPAGENT
 
- 用于 Oracle enterprise manager 和 Intelligent Agent
 - RECOVERY_CATALOG_OWNER
 
- 用于创建拥有恢复库的用户。
 
二、基础操作
1、创建角色
--语法格式
create role role_name by role_password;-- 样例演示
create role identifiled by oracle;
 
2、修改用户默认role
-- 格式
alter user 用户名 default role 角色名;-- 示例
alter user test default role role1,role2; 
3、回收role
rovoke role from test; 
4、删除role
drop role hr_manager; 
5、为角色授权
grant create any table, create procedure to teacher;grant SELECT ANY TABLE to student; 
6、授予角色给用户
-- 格式
grant 角色 to 用户名;-- 示例
SQL> grant student to black;
Grant succeeded.
 
7、查看用户包含的角色:
-- 格式select * from dba_role_privs where grantee='用户名';-- 示例
SQL> select * from dba_role_privs where grantee='WHITE';GRANTEE 		       GRANTED_ROLE		      ADM DEF
------------------------------ ------------------------------ --- ---
WHITE			       TEACHER			      NO  YES
WHITE			       CONNECT			      YES YES
WHITE			       RESOURCE 		      NO  YES
 
8、查看角色所包含的权限
-- 格式
select * from role_sys_privs where ROLE='角色';-- 示例SQL> select * from role_sys_privs where ROLE='TEACHER';
ROLE			       PRIVILEGE	    ADM
------------------------------ -------------------- ---
TEACHER 		       CREATE ANY TABLE     NO
TEACHER 		       CREATE PROCEDURE     NOSQL> select * from role_sys_privs where ROLE='STUDENT';
ROLE			       PRIVILEGE	    ADM
------------------------------ -------------------- ---
STUDENT 		       SELECT ANY TABLE     NO
 
9、为角色添加或删除口令
--为角色添加口令
alter role 角色名 identified by 角色口令;--删除角色的口令
alter role 角色名 not identified; 
