• Oracle--用户管理与权限分配


    以下都是用结合例子来理解Oracle的知识点

    用户登录 (跳开用户名和密码登录)  :

    sqlplus /nolog

    connect / as sysdba

    一.用户

    1.    创建用户(例子)

    create user olay identified by 123;

    2.  删除用户(连同用户所拥有的对象一起删除)

    drop user olay cascade;

    3  .修改用户密码(口令)

    alter user olay identified by 123456;

    4.  解锁被锁的用户

    alter user olay account unlock;

    二:表空间

    1  .创建表空间(创建一个用户为olay,口令为123,并设置默认表空间为users,临时表空间为temp)

    create user olay identified by 123 default  tablespace  users  temporary  tablespac  e temp;

    如果该用户在users表空间上最多可使用大小为10MB,则

    create user olay identified by 123 default tablespace users temporary tablespace temp

    quota  10m on users;

    如果该用户使用users表空间不受大小控制,则

    create user olay identified by 123 default tablespace users temporary tablespace temp 

              quota  unlimited on users;

    注:如果要禁用用户使用某个表空间,则通过quota 设置限额为0即可

    2.    删除表空间(XXX为表空间名)

    drop tablespace    XXX    including      contents    and    datafiles;

    温馨提示:

    在创建完用户之后,需要注意一下几点:

    1.    如果创建用户时不指定默认表空间,oracle会将System 表空间作为用户默认表空间

    2.  如果创建用户时不指定临时表空间,oracle会将默认表空间作为用户的临时表空间

    3.    初始建立用户时没有任何权限的,必须授权后才可操作

    4.    如果建立用户没有为设置用户在表空间的使用大小,那么用户在该表空间的配额为0

    三:用户权限管理

    oracle数据库中将权限分为两大类:系统权限和对象权限

    以下分别介绍着两种权限

    1    系统权限

    (1)系统权限是指执行特定类型sql命令的权利。它用于控制用户可以执行的一个或是一组数据库操作

    oracle提供了160多种系统权限,常用有:

    create session  连接数据库            create table  建表        create view  建视图      create public synonym  建同义词

    create procedure  建过程 函数  包              create trigger  建触发器          create cluster  建簇

    更多的可以查数据字典(system_privilege_map)

                select * from system_privilege_map order by name;

    (2)授权

    如果数据库管理员用grant 命令给用户A授予系统权限时带有with  admin  option,则该用户A就有权限将系统授予的权限授予给用户B。在这种情况下,

    如果管理员使用revoke命令撤销A用户的系统权限,则用户B的系统权限仍然有效(这点有区别与对象权限)

    案例:创建两个用户ken,tom。system给用户ken授予(create session 和  create table)两个权限 并且授予时带 with  admin  option

    grant  create session, create table to ken  with  admin  option;

    此时ken就可以把它得到的两个权限继续向别的用户转发。这样就可以登陆ken用户给tom授权了

    回收系统权限

    revoke create session, create table  from    ken;

    2.  对象权限

    指访问其它方案对象的权利,用户可以直接访问自己方案的对象,但是如果要访问别的方案的对象,就必须具有访问该对象的权限

    常用的对象权限有:

    alter  delete    select    insert          update          index(索引)        references(引用)    execute(执行)

    更多可以查看oracle提供的所有对象权限

    select distinct  privilege  from aba_tab_privs;

    比如smith用户要访问scott.emp表(scott:方案 ,emp:表)  ,则必须在scott.emp表上具有对象的权限。

    grant  select , insert , delete on scott.emp to  smith;

    回收对象权限

    revoke select , insert , delete on scott.emp  from  smith;

    温馨提示:

    如果数据库管理员用revoke命令回收A用户的对象权限,用户B的对象权限也被回收。

    参考阅读:

    Oracle教程:用户管理的备份 http://www.linuxidc.com/Linux/2011-10/44976.htm

    推荐阅读:

    Oracle基础教程之通过RMAN复制数据库 http://www.linuxidc.com/Linux/2013-07/87072.htm

    RMAN备份策略制定参考内容 http://www.linuxidc.com/Linux/2013-03/81695.htm

    RMAN备份学习笔记 http://www.linuxidc.com/Linux/2013-03/81892.htm

    Oracle数据库备份加密 RMAN加密 http://www.linuxidc.com/Linux/2013-03/80729.htm

    更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

  • 相关阅读:
    Codeforces Round #779 VP 记录
    AtCoder Beginner Contest 246 赛时记录
    Codeforces 1800+ 乱做
    [题解] 20212022 ICPC, NERC, Northern Eurasia Onsite F Fancy Stack
    .net跨平台运行实践
    正则表达式常用元字符data.str.extract(r"正则表达式")
    SQL TJM公司3月31日的面试题
    第三阶段day01_html dust
    第三阶段day02 & 03_css dust
    Mac Mysql Table 'xxx.xxxx' doesn't exist" 重启笔记本,mysql表无法访问
  • 原文地址:https://www.cnblogs.com/likeju/p/4987610.html
Copyright © 2020-2023  润新知