Oracle 数据库权限、角色和用户总结 前言: ORACLE 数据库系统预先定义了 CONNECT 、RESOURCE、 DBA、 EXP_FULL_DATABASE、 IMP_FULL_DATABASE 五个角色。 CONNECT 具有创建表、视图、序列等特权;(alter session create cluster ) RESOURCE 具有创建过程、触发器、表、序列等特权、 DBA 具有全部系统特权; EXP_FULL_DATABASE、 IMP_FULL_DATABASE 具有卸出与装入数据库的特权。 权限管理 一、权限分类 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 二、系统权限管理: 1、系统权限分类: DBA: 拥有全部特权,是系统最高权限,只有 DBA 才可以创建数据库结构。 RESOURCE:拥有 Resource 权限的用户只可以创建实体,不可以创建数据库结构。 CONNECT:拥有 Connect 权限的用户只可以登录 Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予 connect, resource 权限。 对于 DBA 管理用户:授予 connect,resource, dba 权限。 2、系统权限授权命令: [系统权限只能由 DBA 用户授出:sys, system(最开始只能是这两个用户)] 授权命令:SQL> grant connect, resource, dba to 用户名 1 [,用户名 2]...; [普通用户通过授权可以具有与 system 相同的用户权限,但永远不能达到与 sys 用户相同的权限,system 用户的权限也可以被回收。] 例: SQL> connect system/manager SQL> Create user user50 identified by user50; SQL> grant connect, resource to user50; 查询用户拥有哪些权限: SQL> select * from dba_role_privs; SQL> select * from dba_sys_privs; SQL> select * from role_sys_privs; 删除用户:SQL> drop user 用户名 cascade; //加上cascade 则将用户连同其创建的东西全部删除 3、系统权限传递: 增加WITH ADMIN OPTION 选项,则得到的权限可以传递。 SQL> grant connect, resorce to user50 with admin option; //可以传递所获权限。 4、系统权限回收:系统权限只能由 DBA 用户回收 命令:SQL> Revoke connect, resource from user50; 说明: 1)如果使用WITH ADMIN OPTION 为某个用户授予系统权限,那么对于被这个用户授予相同权限的所有用户来说,取消该用...