当前位置:Gxlcms > 数据库问题 > Oracle入门第六天(上)——用户控制

Oracle入门第六天(上)——用户控制

时间:2021-07-01 10:21:17 帮助过:3人阅读

  权限的分类:   

    系统权限: 对于数据库的权限

    对象权限: 操作数据库对象的权限

  基本上,权限的控制和之前介绍的管理控制台是相通的,所以基本可以大概将此节看作图形化操作的SQL语句操作版本

二、用户管理

  1.创建用户

  DBA使用以下语法创建:

CREATE USER user                             
IDENTIFIED BY   password;

 // 普通用户可以使用ALTER USER进行自己的密码修改

   切换成SYSTEM用户,创建示例如下:

CREATE USER cc01
IDENTIFIED BY c123456789

  当然,这个用户通过命令行创建是不能登录的,没有CREATE SESSION权限,接下来介绍常用的权限管理:

  2.用户权限管理

GRANT privilege [, privilege...]            
TO user [, user| role, PUBLIC...];

  一般常用开发者需要的权限如下:(完整权限也可以通过管理控制台查看了解)

  技术分享图片

  示例:

GRANT CREATE SESSION,CREATE TABLE
TO cc01

  这样,用户就有权限创建表了,不过由于默认没有给表空间,还需要给予表空间才能成功建表

  3.创建用户表空间

ALTER USER atguigu01 QUOTA UNLIMITED 
ON users

  示例:

ALTER USER atguigu01 QUOTA 5M
ON users

三、角色管理

  1.角色是什么

  角色是对一部分权限的封装,使用图示如下:

  技术分享图片

  2.创建角色

CREATE ROLE manager

  给角色赋予权限:

GRANT CREATE SESSION,CREATE TABLE
TO manager

  给用户授予角色:

GRANT manager TO cc01 

四、对象管理

  对象权限概述(对象就是之前介绍的数据库对象)

  技术分享图片

   不同的对象具有不同的对象权限

  对象的拥有者拥有所有权限

  对象的拥有者可以向外分配权限

  授予对象权限

GRANT    object_priv [(columns)]
 ON        object
 TO        {user|role|PUBLIC}
 [WITH GRANT OPTION];

  WITH GRANT OPTION 使用户同样具有分配权限的权利(对应管理控制台中管理选项的勾与叉)

  示例:

GRANT  select
ON     employees
TO     sue, rich;

  这样就可以在别的角色进行查询操作了:

SELECT * FROM SCOTT.employees

  查询权限分配情况

  技术分享图片

 

   使用这些视图的示例:

SELECT * FROM USER_SYS_PRIVS;

  收回权限

REVOKE {privilege [, privilege...]|ALL}
ON      object
FROM   {user[, user...]|role|PUBLIC}
[CASCADE CONSTRAINTS];

  示例:

REVOKE  select, insert
ON      departments
FROM    scott;

  小结:

  技术分享图片

 

Oracle入门第六天(上)——用户控制

标签:用户控制   技术   情况   bsp   基本   通过   就是   查看   str   

人气教程排行