• Oracle基础入门--(用户、角色、权限)


    Oracle数据库开发的步骤:

    1) 创建一个表空间

    2) 创建用户,并且给用户访问的表空间

    3) 授予权限      --> 前3步: 在实际开发中: DBA分配的

    4) 创建表(约束)       --> 4,5,6 作为重点

    5) 添加数据

    6) 修改,删除,查询数据

    用户

     Oracle提供了三个用户:

    1. SYS用户:超级管理员,权限最高,它的角色是DBA(数据库管理员)。默认密码是change_on_install。具有创建数据库的权限。
    2. SYSTEM用户:系统管理员,权限很高,它的角色是DBA operator(数据库管理员操作者),默认密码manager。不具有创建数据库的权限!
    3. 普通用户(normal),如系统安装时的scott用户,默认密码是tiger。普通用户的权限是SYS用户或SYSTEM用户给的,如果没有给,那普通用户连很基本的访问权限,连接权限也没有。

    oracle内部有两个建好的用户:system和sys。用户可直接登录到system用户以创建其他用户,因为system具有创建别 的用户的 权限。 在安装oracle时,用户或系统管理员首先可以为自己建立一个用户。

    语法[创建用户]:

    create user 用户名  IDENTIFIED  by  密码
    DEFAULT TABLESPACE 默认表空间      --如果没有写, 默认访问的users表空间
    TEMPORARY TABLESPACE temp;       --访问的临时表空间, 都是要temp,不写默认temp

    例子: 

    CREATE USER zhangsan IDENTIFIED BY 123
    DEFAULT TABLESPACE mytest
    TEMPORARY TABLESPACE temp;

    语法[更改用户]:

    alter user 用户名 IDENTIFIED BY 新密码;

    例子: 

    alter user zhangsan identified by 888;

    语法[删除用户]:

    drop user 用户名 cascade;

    例子: 

    --注意: 不能删除在线用户
    --如果这个用户已创建其他的数据库对象(表,...), 需要使用CASCADE关键字, 把这个用户创建所有的东西也删除
    drop user zhangsan;
    
    drop user zhangsan cascade;

    常用的角色(role)

      一个角色包含多个权限

    • connect:允许用户创建会话权限
    • resource:允许用户对表进行增,删,改,查的权限
    • dba: 系统管理员的角色, 所有的权限都有

    讲解三种标准角色:

    1》.connect role(连接角色)

        --临时用户,特指不需要建表的用户,通常只赋予他们connect role. 

        --connect是使用oracle简单权限,这种权限只对其他用户的表有访问权限,包括select/insert/update和delete等。

        --拥有connect role 的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym)、回话(session)和其他  数据的链(link)

    2》.resource role(资源角色)

        --更可靠和正式的数据库用户可以授予resource role。

        --resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。 

    3》 dba role(数据库管理员角色)

        --dba role拥有所有的系统权限

        --包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有

    授权命令

    grant connect, resource to 用户名;

    撤销权限

     revoke connect, resource from 用户名;

    创建/授权/删除角色

    除了前面讲到的三种系统角色----connect、resource和dba,用户还可以在oracle创建自己的role。用户创建的role可以由表或系统权限或两者的组合构成。为了创建role,用户必须具有create role系统权限。

    1》创建角色

      语法: create role 角色名;

      例子: create role testRole;

    2》授权角色

      语法: grant select on class to 角色名;

      列子: grant select on class to testRole;

      注:现在,拥有testRole角色的所有用户都具有对class表的select查询权限

    3》删除角色

      语法: drop role 角色名;

      例子: drop role testRole;

      注:与testRole角色相关的权限将从数据库全部删除

    权限

    1、系统权限:

        创建数据对象 create table, 删除数据对象 drop table,修改数据对象 alter table, 登录数据库 create session
    2、对象权限:

        把用户下的某个对象(表, 存储过程..)的(insert)(delete)(update)(select)权限 all(所有对象权限)

    授予权限

     授予权限: 角色高(执行的sql语句的用户)给角色低的授予
     -- grant 权限1,权限2,权限3/角色... to 用户
    
    --授予对象权限
      grant dba to zhangsan;
    --授予zhangsan用户,查询scott用户下emp表的权限
      grant select on scott.emp to zhangsan;
    --授予zhangsan用户,对scott用户下emp表的增删改查权限  
       grant all on scott.emp to zhangsan;

    撤销权限

    --撤销权限  revoke 权限1,权限2,....  form 用户;
    
    --撤销对象权限
         revoke dba from zhangsan;
    --撤销zhangsan用户,查询scott用户下emp表的权限
        revoke select on scott.emp from zhangsan;
    --撤销zhangsan用户,对scott用户下emp表的增删改查权限
         revoke all on scott.emp from zhangsan;
  • 相关阅读:
    PHP 二维数组排序
    linux CentOS7.* 上安装 ffmpeg 扩展
    ajax删除,
    ajax的格式、简单使用编写,
    多对多作为外键,getset方法实现
    外键介绍,manytomany介绍,filter跨表双下划线
    student学生信息表增删改
    数据库表的增删改查学生信息管理
    session保存信息用数据库
    cookie实现访问index无法访问必须从login走,返回固定的session值,
  • 原文地址:https://www.cnblogs.com/64Byte/p/12693290.html
Copyright © 2020-2023  润新知