文档网

Oracle权限详解

Oracle的权限主要包括角色权限(Role privileges)、系统权限(System privileges)和对象权限(Object privileges)。

一、角色权限

角色是一组权限的集合,将角色赋给用户,那这个用户就拥有这个角色包含的权限。在数据库安装后,系统会自动创建一些常用的角色,下面简单介绍一下这些预定义角色,角色所包含的权限可以用语句来查询:

select * from role_sys_privs where role='角色名';

1.CONNECT, RESOURCE, DBA

这些预定义角色主要是为了向后兼容。其主要是用于数据库管理。oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。将来的版本中这些角色可能不会作为预定义角色。

DBA: 拥有全部特权,是系统最高角色权限,只有DBA才可以创建数据库结构。

RESOURCE:拥有Resource角色权限的用户只可以创建实体,不可以创建数据库结构。 CONNECT:拥有Connect角色权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

对于普通用户:授予connect, resource角色权限。

对于DBA管理用户:授予connect,resource, dba角色权限。

2.DELETE_CATALOG_ROLE,EXECUTE_CATALOG_ROLE,

SELECT_CATALOG_ROLE

这些角色主要用于访问数据字典视图和包。

3.EXP_FULL_DATABASE,IMP_FULL_DATABASE

这两个角色用于数据导入导出工具的使用。

4.AQ_USER_ROLE,AQ_ADMINISTRATOR_ROLE

这两个角色用于oracle高级查询功能。

5.SNMPAGENT

用于oracle enterprise manager和Intelligent Agent

6.RECOVERY_CATALOG_OWNER

用于创建拥有恢复库的用户。

7.HS_ADMIN_ROLE

异构服务需要这个角色去访问数据字典中的表。.

补充:管理角色权限

1.建一个角色

sql>create role role1;

2.授予权限给角色

sql>grant create any table,create procedure to role1;

3.授予角色给用户

sql>grant role1 to user1;

4.查看角色所包含的权限

sql>select * from role_sys_privs;

5.创建带有口令以角色(在生效带有口令的角色时必须提供口令)

sql>create role role1 identified by password1;

6.修改角色:是否需要口令

sql>alter role role1 not identified;

相关文档
热门文档
你可能喜欢
评论