Oracle学习——数据库用户、角色设置
本文将介绍Oracle数据库中如何对用户进行管理,并介绍Orcale中什么是角色。
1、创建用户
Oracle用户是用来连接数据库和访问数据库对象的。注意创建一个新的用户是需要“创建用户权限”的。
创建用户语法格式:
CREATE USER 用户名
IDENTIFIED BY 密码
DEFAULT TABLESPACE 表空间名
TEMPORARY TABLESPACE 临时表空间名
QUOTA {20K | 50M |...| UNLIMITED} ON 表空间名
参数含义:
- IDENTIFIED BY:设置密码
- DEFAULT TABLESPACE:该用户创建在那个表空间中,也就是用户默认操作的表空间是谁。
- TEMPORARY TABLESPACE:临时表空间是哪个(临时表空间一般是创建视图,访问索引时使用的空间)
- QUOTA:用户引用空间大小设定。
示例:创建一个叫user_tmp的用户,密码为123456,该用户默认操作的表空间为table_space01(这个表空间需要提前在系统中创建好)
CREATE USER user_tmp
IDENTIFIED 123456
DEFAULT TABLESPACE table_space01
QUOTA 5M on table_space01
2、授予 / 撤销用户权限
当我们创建好了用户之后,我们还需要授予用户权限,这样才能够登录数据库。我们采用DCL(数据控制语言)来进行,DCL主要有两个操作关键字:
- GRANT:授予用户权限
- REVORK:撤销用户权限
2.1、授予用户权限
语法结构:
GRANT create session, create table,
create sequence, create view
TO 用户名
参数解释:
- create session:登录权限
- create table:创建表权限
- create sequence:创建序列权限
- create view:创建视图权限
- create procedure:创建存储过程的权限
- unlimited tablespace:永久表空间的权限
2.2、撤销用户权限
语法结构:
REVOKE 权限{create table | ...}
FROM 用户名
3、角色
前面我们提到了对于用户来说最重要的就是授予/撤销权限,而对于每一个用户我们都需要给他授予权限,这样的操作比较麻烦,那我们可以设定一个权限组,在这个权限组里的所有用户都具有这写权限,这个权限组在Orcale中就叫做角色。一个用户可以使用多个角色,并且几个用户也可以被指定相同的角色。
因此我们可以先创建好角色,再将角色赋予给用户,这样对用户权限管理会更加方便。
3.1、创建角色
语法格式:
CREATE ROLE 角色名
3.2、给角色授予权限
创建完的角色什么权限都没有,我们可以采用给用户授予权限的方式给角色授予权限,即:
GRANT 权限{create session | ...}
TO 角色名
注意:unlimited tablespace只能给用户直接授予而不能放在角色中。
3.3、给用户授予角色
我们创建好了一个权限集合(角色)了,那我们可以给用户授予这些权限集合。
语法格式:
GRANT 角色名
TO 用户1[, 用户2...]
3.4、撤销用户的某个角色
这与撤销用户权限是一样的,采用REVOKE关键字。
REVOKE 角色名
FROM 用户
以上内容如有错误,恳请指正