zoukankan      html  css  js  c++  java
  • 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;

      小结:

      

  • 相关阅读:
    HDU1172 猜数字 广搜
    HDU2688 Rotate
    HDU1006 Tick and Tick 几何
    ADO.NET中的五个主要对象
    .NET开发人员值得关注的七个开源项目
    常用正则表达式
    常用的正则表达式集锦〔转〕
    一个较优雅的GridView隐藏列取值解决方案
    DataTable分组求和
    处理[未处理的“System.StackOverflowException”类型的异常出现在 System.Windows.Fo ...
  • 原文地址:https://www.cnblogs.com/jiangbei/p/8215491.html
Copyright © 2011-2022 走看看