zoukankan      html  css  js  c++  java
  • oracle新建用户类问题

    create user dbusrfan identified by xx; 

    alter user dbusrfan identified by xx;
    grant connect,resource to pes;
    grant create session to dbusrfan;

    grant unlimited tablespace to dbusrfan;

    grant create table to dbusrfan;
    grant drop table to dbusrfan;
    grant insert table to dbusrfan;
    grant update table to dbusrfan;
    grant all to public;

    -- Create table
    create table DQ_CJDATAGL
    (
    dxmc VARCHAR2(20) not null,
    dxid NUMBER(10) not null,
    qk VARCHAR2(100),
    qkdm VARCHAR2(20),
    cjsj DATE not null,
    bz VARCHAR2(30),
    byzdc1 VARCHAR2(20),
    byzdn1 NUMBER(8,2),

    )
    tablespace PES
    pctfree 10
    initrans 1
    maxtrans 255
    storage
    (
    initial 64
    next 1
    minextents 1
    maxextents unlimited
    );

    reate user +用户名 identified by +密码 default tablespace +表空间名称 temporary tablespace +临时表空间名称 --创建新用户  在oracle之后 普通用户的用户名必须以C##开头(如果不指定表空间,该用户的表空间为系统默认的表空间)

    create tablespace +表空间名称 +datafile +存储路径+ size 表空间大小(单位m)--创建表空间

    alter tablespace 旧名称 rename to 新名称--更改表空间名称’

    创建用户后,该用户无任何权限,处于封存状态,需要授权

    授权命令为 

    grant  权限 to 用户名   --将权限赋予给哪个用户

    grant create session to test  --给与创建链接权限    (基本权限,没有该权限用户无法链接数据库)

    grant create table to test   --给与创建表格权限

    grant unlimited tablespace to test --给与用户不受限制的表空间权限(慎重对待,一般用户表空间给与特定的表空间权限)

    取消授权命令

    revoke 权限 from 用户   -- 将该用户的权限取消

    revoke create session from test  -- 取消创建链接的权限

    。。。。

    对特定对象的授权

    对于a表,A用户向B用户授权(A用户必须是a的拥有者或者有该表授权的权限)(权限可以继承)

    grant insert/update/select on 表名 to 用户名  将特定表的读取修改权限给与某用户

    角色

    角色就是一类权限的集合

    将一个角色赋予某个用户,该用户就拥有了该角色的所有权限(批量授权)

    create role +角色名      --创建一个角色

    创建一个角色后,可以向该角色授权

    grant 权限 to 角色名 

    将角色赋予给用户

    grant 角色名 to 用户名  --将该角色的所有权限给与该用户

    drop 角色名  --删除该角色

    查询用户拥有哪里权限:
    SQL> select * from dba_role_privs;
    SQL> select * from dba_sys_privs;
    SQL> select * from role_sys_privs;

    增加WITH ADMIN OPTION选项,则得到的权限可以传递(继承)。

    SQL> grant connect, resorce to user50 with admin option;  //可以传递所获权限。

     

    select * from dba_users; 查看数据库里面所有用户
    select * from all_users;  查看你能管理的所有用户
    select * from user_users; 查看当前用户信息 

    1、系统权限分类:
    DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。

    RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。

    CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

    对于普通用户:授予connect, resource权限。
    对于DBA管理用户:授予connect,resource, dba权限。

     

    2、系统权限授权命令:
    [系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)]
    授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...;

    [普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。]

  • 相关阅读:
    数据库SQL优化大总结之 百万级数据库优化方案
    2020春季学期第九周学习总结
    2020春季学期第八周学习总结
    《一线架构师实践指南》第三章Refined Architecture阶段学习总结
    2020春季学期第七周学习总结
    2020春季学期第六周学习总结
    《软件架构设计》阅读笔记三
    2020春季学期第四周学习总结
    数据分析练习-3.14进度
    《软件架构设计》阅读笔记二
  • 原文地址:https://www.cnblogs.com/cinemaparadiso/p/11596662.html
Copyright © 2011-2022 走看看