本文主要介绍如何创建和删除用户,当然里面牵涉很多知识,慢慢道来。

1,创建用户

需求:假设你是oracle管理员,当一个同事入职,你需要分配给一个账号。

创建用户,一般需要有相应权限的用户才可以创建用户.

create user 用户 identified by 密码

举例,创建一个普通用户yfy,这里我们用管理员来创建。

create user yfy identified by m123

[oracle 要求用户密码不能以数字开头],但是我试了没有问题。

此时用小明登录是不可以的。conn yfy/m123;登录之后会退出数据库连接。

Oracle刚刚创建的用户是没有任何权限的,需要管理员分配相应的权限才能够登录。

如何给用户分配相应的权限?

grant create [resource] to yfy;

如果需要登录resource改为session;其他权限以后再讲;

当然授权给某个用户一些权限,也可以回收权限。

revoke create [resource]  from yfy



创建用户细节:

aql->create user 用户名 identified by 密码                                  --------------------------这一行和上面的一样 

default tablespace users                             默认表空间 ---------------------------用户的表空间在users上

temporary tablespace temp                          临时表空间 ---------------------------用户的临时表空间在temp上

quota 3m on users                            ------------------3m表示建立的数据的对象(表,索引等)最大只能是3m(兆)。 

表空间: 表存在的空间,一个逻辑概念。一个表空间指向一个文件。Oracle事先提供默认的表空间,创建用户的时候就会在默认的表空间。

2,角色

预定义角色: dba,connect,resource 见下图。

把常用的权限集中起来,形成一个角色,根据需求有几种,因此有时候管理员不是分配给某个用户某个权限,而是把一个角色分配给用户,那么这个用户将拥有一系列权限。

自定义角色:管理员觉得现在这些角色不满足当前用户的权限要求,可能把某一系列的权限定义为一个角色。

由此可知,上面的grant create session to yfy; 是分配给用户yfy一个系统权限。如果我们嫌给一个用户一个个的分配权限很麻烦就分配给他一个角色,这个角色包含的权限就比较多。那么如何分配角色呢?

grant 角色 to 用户

例如分配给yfy一个resource角色:grant resource to yfy;

当然分配了角色就要回收角色,命令如下:

revoke 角色 from用户

例如回收yfy的resource角色:revoke resource from yfy;


3,删除用户

删除这个用户

drop user 用户 [cascade];

cascade:当删除一个用户的时候,如果这个用户已经创建过数据对象,那么删除这个用户的时候,必须用cascade,表示把这个用户的同时,把该用户创建的对象一同删除。


4,综合案例

创建一个用户xiaohong,然后给他分配两个角色,可以登录,修改密码,然后回收角色,最后删除用户。

(1) 使用system创建xiaohong

create user xiaohong identifid by m123

(2) 给xiaohong分配两个常用的角色

grant connect to xiaohong;

grant resource to xiaohong;

(3) 让xiaohong登录

conn xiaohong/m123;

(4) 让xiaohong修改密码

passw 或者password;回车之后再改。命令之后可以加上用户名,不加就是修改当前用户;

(5) 回收角色

revoke connect from xiaohong;

revoke resource from xiaohong;

(6)   删除这个用户

drop user xiaohong [cascade];


5,方案

方案schema

当一个用户创建好了之后,如果该用户创建了任意一个数据对象,这时我们的dbms就会创建一个对应的一个方案和用户同名。

需求: 让xiaohong用户可以查询scott的enp表;

步骤如下:

(1)先用scott登录                    conn scott/scott;

(2)赋权限                              grant select [update|delete|insert|all] on emp to xiaohong;

(3)然后xiaohong登录后查询        select * from scott.emp;

方案其实就是说对于每创建一个用户,该用户的数据都在此方案中,别人是看不到的,如果想让别人对你的某些数据有某些权限,则可以赋予,然后对方可以在操作时加上方案名即可操作。

oracle学习笔记一:用户管理(2)创建删除用户的更多相关文章

  1. Oracle 学习笔记3:新建数据库没有scott用户解决办法

    新建一个数据库,若选择Oracle组件时,没有选择实例方案,完成后进行口令管理,默认列表中是找不到scott用户解锁的.若要解锁scott用户,可以进行如下操作: 使用system或者sys连接数据库 ...

  2. blfs(systemd版本)学习笔记-编译安装sudo并创建普通用户配置sudo权限

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! blfs书中sudo的安装配置章节:http://www.linuxfromscratch.org/blfs/view/stab ...

  3. blfs(systemv版本)学习笔记-编译安装sudo并创建普通用户配置sudo权限

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! blfs书中sudo的安装配置章节:http://www.linuxfromscratch.org/blfs/view/8.3/ ...

  4. oracle 学习笔记--用户管理

    oracle 用户管理 创建用户(需要具有dba权限的用户) create user 用户名 identified by 密码 defaule tablespace users     //默认表空间 ...

  5. Spring MVC 学习笔记8 —— 实现简单的用户管理(4)用户登录

    Spring MVC 学习笔记8 -- 实现简单的用户管理(4)用户登录 增删改查,login 1. login.jsp,写在外面,及跟WEB-INF同一级目录,如:ls Webcontent; &g ...

  6. Oracle学习笔记—数据字典和常用命令(转载)

    转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...

  7. Android学习笔记——Activity的启动和创建

    http://www.cnblogs.com/bastard/archive/2012/04/07/2436262.html Android Activity学习笔记——Activity的启动和创建 ...

  8. Linux内核学习笔记-2.进程管理

    原创文章,转载请注明:Linux内核学习笔记-2.进程管理) By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...

  9. golang学习笔记5 用bee工具创建项目 bee工具简介

    golang学习笔记5 用bee工具创建项目 bee工具简介 Bee 工具的使用 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/docs/instal ...

  10. linux kernel学习笔记-5内存管理_转

    void * kmalloc(size_t size, gfp_t gfp_mask); kmalloc()第一个参数是要分配的块的大小,第一个参数为分配标志,用于控制kmalloc()的行为. km ...

随机推荐

  1. Java06-java基础语法(五)数组

    Java06-java基础语法(五)数组 一.循环的嵌套 在一个循环体内部再含有一个或多个循环 强调:内循环全部做完以后再去执行下一次的外循环 int k = 0; for(int i = 0; i& ...

  2. elasticsearch命令

    如果安装了x-pack插件,需要验证 curl -u username:passwd 1.查看所有index curl -XGET localhost:/_cat/indices?v 2.清理所有in ...

  3. openCV基础知识

    openCV主体分为5个模块: CV图像处理函数和计算机视觉算法: ML机器学习库,包含许多聚类和数据分析函数: HighGUI图像和视频的输入输出: [分成三部分:硬件部分--摄像机;文件部分--载 ...

  4. [z]libevent入门教程:Echo Server based on libevent 不指定

    [z]https://www.felix021.com/blog/read.php?2068 花了两天的时间在libevent上,想总结下,就以写简单tutorial的方式吧,貌似没有一篇简单的说明, ...

  5. Excel上传找到错误数据类型

    一:查询数据库表中字段的类型语句 SELECT CASE WHEN col.colorder = 1 THEN obj.name ELSE '' END AS 表名, col.colorder AS ...

  6. python 3.6.5 map() max() lambda匿名函数

    python 3.6.5 sample: map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 functi ...

  7. 初识restful api接口

    一.restful api接口举例 实现功能 传统方式 restful方式 url HTTP方法 url HTTP方法 查询 /user/query?name=knyel GET /user?name ...

  8. angular2.0学习笔记3.了解angular2.0项目结构

    1.我们应用的代码都位于src文件中,包括所有的组件.模板.样式.图片以及我们的应用所需的任何东西都在这个文件来里. 2.src这个文件夹之外的文件都是为构建应用提供支持用的. src文件夹及用途说明 ...

  9. poj 1182 (关系并查集) 食物链

    题目传送门:http://poj.org/problem?id=1182 这是一道关系型并查集的题,对于每个动物来说,只有三种情况:同类,吃与被吃: 所以可以用0,1,2三个数字代表三种情况,在使用并 ...

  10. http协议(一)一些基础知识

    当我们在浏览器的地址栏中输入网址,然后点击回车,接着,浏览器就会呈现出我们需要的web界面,那么,这个界面是怎么产生的? web的界面是根据我们输入的URL(网址.地址),浏览器从服务器端获取对应的文 ...