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

Posted ---江北

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle入门第六天(上)——用户控制相关的知识,希望对你有一定的参考价值。

一、概述

  权限的分类:   

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

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

  基本上,权限的控制和之前介绍的管理控制台是相通的,所以基本可以大概将此节看作图形化操作的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入门第六天(上)——用户控制的主要内容,如果未能解决你的问题,请参考以下文章

Oracle入门第六天(中)——SET运算符(交并差集)

大数据入门第六天——HDFS详解

python入门第二十六天--网络通信

Python 入门第六天

Python 入门第六天

python入门第十六天__列表生成式