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 用户

  

posted @ 2022-09-13 17:11  Circle_Wang  阅读(473)  评论(0编辑  收藏  举报