数据库版本:11GR2

一、介绍 

在oracle中没有其他数据库系统中的数据库的概念,对象都是创建在用户下。当前用户具有当前用户下所有对象的所有权限无论该对象是否是当前用户所创建。举个简单例子创建一个用户授予该用户连接权限,然后用管理员用户在该用户下创建一张表,该用户可以删除管理员在该用户下创建的表。

 

二、权限

权限主要可以分成三类:系统权限、角色、对象权限。角色是一类权限的分组。

1.系统权限

系统权限其实就是用户在当前用户架构下所具有的权限。在11g中系统权限有200个,比如create table,UNLIMITED TABLESPACE等。

查询当前用户拥有的系统权限:

SELECT * FROM user_sys_privs;

2.角色

角色其实就是一类权限的分组,所以给用户分配角色其实也是在给用户分配权限。在oracle中有三个比较常用的角色。对于一般不是很严格的系统可以授予开发用户CONNECT、RESOURCE角色权限即可。

DBA:该角色具有数据库所有的权限。

CONNECT:该角色具有连接数据库的权限,和create session的权限一样。

RESOURCE:该角色是应用程序开发角色,具有如下权限

 查询当前用户拥有的角色:

SELECT * FROM USER_ROLE_PRIVS;

网友评论