zoukankan      html  css  js  c++  java
  • Oracle数据库---用户与角色

     

    Oracle数据库---用户与角色

    版权声明:版权所有,转载请注明出处.谢谢 https://blog.csdn.net/weixin_35353187/article/details/87929965

    安装Oracle时,若没有设置默认密码,则以下为默认账户的密码:

    用户名 / 密码 登录身份 说明
    sys/change_on_install SYSDBA 或 SYSOPER 不能以 NORMAL 登录,可作为默认的系统管理员,超级管理员,负责数据库系统的管理
    system/manager SYSDBA 或 NORMAL 普通管理员,负责数据库对象的管理,如:创建用户,授权,创建数据库等等
    sysman/oem_temp   sysman 为 oms 的用户名
    scott/tiger NORMAL 普通用户
    aqadm /aqadm SYSDBA 或 NORMAL 高级队列管理员
    Dbsnmp/dbsnmp SYSDBA 或 NORMAL 复制管理员
    scott SYSDBA 或 NORMAL 该用户主要用于给我们学习的时候使用。如果要使用该用户就必须解锁,并且修改密码
    hr  SYSDBA 或 NORMAL 测试用户。该用户有一些hr相关的测试数据。如果要使用该用户就必须解锁,并且修改密码

    cmd窗口连接数据库时,运行cmd命令行

    sqlplus /nolog   无用户名登录

    conn /as sysdba   连接到数据本地数据

    alter user system identified by password   修改System 密码  为password

    查看所有用户信息:

    ---dba_users:保存系统中所有用户的详细信息。

    select * from dba_users;

    创建用户

    1.  
      create user 用户名
    2.  
      identified by 密码
    3.  
      [default tablespace 表空间];
    4.  
      --新创建的用户没有任何权限,登陆后会提示
    1.  
      --创建用户
    2.  
      create user test01
    3.  
      identified by 123456
    4.  
      default tablespace test01;
    1.  
      --登录:也需要有权限
    2.  
      --Oracle 中已存在三个重要的角色:connect 角色,resource 角色,dba 角色。
    3.  
       
    4.  
      CONNECT 角色: --是授予最终用户的典型权利,最基本的
    5.  
      ALTER SESSION --修改会话
    6.  
      CREATE CLUSTER --建立聚簇
    7.  
      CREATE DATABASE LINK --建立数据库链接
    8.  
      CREATE SEQUENCE --建立序列
    9.  
      CREATE SESSION --建立会话
    10.  
      CREATE SYNONYM --建立同义词
    11.  
      CREATE VIEW --建立视图
    12.  
       
    13.  
       
    14.  
      RESOURCE 角色: --是授予开发人员的
    15.  
      CREATE CLUSTER --建立聚簇
    16.  
      CREATE PROCEDURE --建立过程
    17.  
      CREATE SEQUENCE --建立序列
    18.  
      CREATE TABLE --建表
    19.  
      CREATE TRIGGER --建立触发器
    20.  
      CREATE TYPE --建立类型
    21.  
       
    22.  
       
    23.  
      DBA 角色:拥有全部特权,是系统最高权限,只有 DBA 才可以创建数据库结构,
    24.  
      并且系统权限也需要 DBA 授出,且 DBA 用户可以操作全体用户的任意基表,包括删除
    25.  
       
    26.  
      grant dba to user_test;
    27.  
       
    28.  
      进入 system 用户下给用户赋予 dba 权限,否则无法正常登陆
    1.  
      --分配角色权限:
    2.  
       
    3.  
      -- 授权: grant connect,resource to test01;
    4.  
      grant dba to test01;
    5.  
       
    6.  
      --撤销授权
    7.  
      -- revoke connect,resource from test01;

    设置用户密码

    alter user 用户名 identified by 密码;
    alter user test01 identified by a123456; --该方式不能修改为纯数字密码

    解锁用户

    alter user 用户名 account unlock;
    1.  
      --锁定hr测试用户
    2.  
      alter user hr account lock;
    3.  
       
    4.  
      --解锁hr测试用户
    5.  
      alter user hr account unlock;

    删除用户

    drop user 用户名 [cascade];
    1.  
      drop user test01 [cascade];
    2.  
      --如果删除的用户中已经有数据,那么删除用户的时候,就必须要指定cascade关键字。

    系统权限

    1.  
      --系统权限就是创建数据库对象的权限。系统权限都是以create开头的权限。
    2.  
      --例如:创建会话、创建表、创建索引、创建序列等等。
    3.  
      --create session、create table、create index、create sequence等等。
    1.  
      --授予用户系统权限。
    2.  
      grant create 权限 to 用户;
    3.  
      --只有管理员才可以授予用户系统权限。
    1.  
      --授予用户test01创建会话、创建表的系统权限。
    2.  
      grant create session,create table
    3.  
      to test01;

    对象权限

    1.  
      --对象权限就是对数据库对象的操作权限。
    2.  
      --例如:添加表数据、查询表、删除表等等操作。
    3.  
      select、insert、update、delete、all。
    1.  
      --授予用户对象权限。
    2.  
      grant 操作权限
    3.  
      on 用户1.表名
    4.  
      to 用户2;
    1.  
      --授予用户test01查询和插入scott用户的emp表的权限。
    2.  
      grant select,insert
    3.  
      on scott.emp
    4.  
      to test01;

    查看用户权限

    1.  
      dba_sys_privs:保存所有用户的系统权限;
    2.  
      dba_tab_privs:保存所有用户的对象权限;
    1.  
      select *
    2.  
      from dba_sys_privs
    3.  
      where grantee ='TEST01';
    4.  
       
    5.  
      select *
    6.  
      from dba_tab_privs
    7.  
      where grantee ='TEST01';

    回收权限

    1.  
      --回收用户的系统权限:
    2.  
      revoke create 权限 from 用户;
    3.  
       
    4.  
      --回收用户的对象权限:
    5.  
      revoke 操作 on 用户1.表名 from 用户2;
    1.  
      revoke create table
    2.  
      from test01;
    3.  
       
    4.  
      revoke insert
    5.  
      on scott.emp
    6.  
      from test01;

    角色

    角色就是一组权限的集合。

    角色的作用:简化授权操作。

    Oracle 中已存在三个重要的角色:connect 角色,resource 角色,dba 角色

    使用角色

    1.  
      第一步:创建角色;
    2.  
      create role 角色名;
    3.  
       
    4.  
      第二步:给角色授权;
    5.  
      grant create 权限to 角色; --授予角色系统权限
    6.  
      grant 操作 on 用户.表名 to 角色; --授予角色对象权限
    7.  
       
    8.  
      第三步:把角色赋给用户;
    9.  
      grant 角色 to 用户;
    1.  
      --第一步:创建角色;
    2.  
      create role t_role;
    3.  
       
    4.  
      --第二步:给角色授权;
    5.  
      grant create table
    6.  
      to t_role; --授予角色系统权限
    7.  
       
    8.  
      grant select
    9.  
      on scott.emp
    10.  
      to t_role; --授予角色对象权限
    11.  
       
    12.  
      --第三步:把角色赋给用户;
    13.  
      grant t_role
    14.  
      to test01;

    查询用户角色

    1.  
      --dba_role_privs:保存所有用户的角色信息。
    2.  
      select *
    3.  
      from dba_role_privs
    4.  
      where grantee ='TEST01';

    回收角色

    1.  
      revoke 角色名
    2.  
      from 用户;
    1.  
      revoke t_role
    2.  
      from test01;

    删除角色

    drop role 角色名;
    1.  
      drop role t_role;
    2.  
      --删除角色之后,那么拥有该角色的用户就会自动地把该角色取消。

    ORACLE数据库的用户权限和角色权限控制

     

     
  • 相关阅读:
    dfssvc.exe
    我左边的公告
    再做了一个LOGO
    做一个调查,请大家帮忙
    如果年三十没有人陪我
    我喜欢这个模版
    cisvc.exe是什么服务
    IIS与SQL服务器安全加固
    终于申请到了blogs
    重发LOGO
  • 原文地址:https://www.cnblogs.com/handsome-24/p/10517968.html
Copyright © 2011-2022 走看看