目录:Oracle的角色管理AND用户权限管理
1 角色定义
Oracle角色就是一组权限(或者说是权限的集合)
用户可以给角色赋予指定的权限,然后将角色赋给相应的用户
2 数据库与表空间系统提供的三种标准的角色
2.1 Connect(连接角色)
拥有Connect权限的用户只可以登陆Oracle,不可以创建实体(表),不可以创建数据库结构。
2.2 Resource(资源角色)
拥有Resource权限的用户只可以创建实体(表,视图,序列),不可以创建数据库结构(用户)。
2.3 Dba(数据库管理员角色)
用于全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
对于普通用户:授予connect,resource权限。
对于DBA管理用户:授予dba权限。
通过connect赋予权限的用户,可以登陆,但是无法创建数据库结构
3 基本用户
3.1 创建角色
语法格式:
Create role 角色名
例子
Create role manager;
为角色赋予权限
语法格式:
Grant 权限 to 角色
例子:
Grant create table, create view to manager;
3.2 将角色赋予用户
语法:
Grant 角色 to 用户
3.3 撤销用户角色
Revoke 角色 from 用户
3.4 删除角色
Drop role 角色
4 权限的含义
权限指的是执行特定命令或访问数据库对象的权利
5 权限的作用
数据库的安全性:
系统安全性
数据安全性
6 权限的分类
系统权限:允许用户执行特定的数据库动作,如创建表,创建索引,连接实例等.
对象(实体)权限:允许用户操纵一些特定的对象,如读取视图,可更新某些列,执行存储过程.
7 掌握系统权限和对象权限的操作
7.1 查询Oracle使用系统权限
Select * from system_privilege_map;
7.2 常用系统权限语法
Create session 创建会话
Create sequence 创建序列
Create table 创建表
Create user 创建用户
Alter user 更改用户
Drop user 删除用户
Create view 创建视图
7.3 授予系统权限的语法格式
Grant privilege[,privilege…] to user [,user|role,public…]
举例:
Grant create table,create sequence to manager;
Grant manager to user01,user02; 为两个用户分配的创建表,创建序列的权限。
7.4 回收系统权限的语法格式
Revoke {privilege | role} from {user_name|user_name|public}
举例:
Revoke manager from user01;
Revoke create table, create sequence from manager;