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

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. stark组件之批量操作【模仿Django的admin】

    一.先看下django的admin是如何实现批量操作 首先在配置类中定义一个函数 然后我们为这个函数对象设置一个属性,这个属性主要用来显示在select标签中显示的文本内容 最后把函数对象放到一个ac ...

  2. 用django实现一个资产管理的系统

    整个页面的效果如下图所示 1.登陆注册页面 2.注册的页面 3.登陆页面 4.所有设备 5.正常设备页面 6.退库设备页面 7.丢失设备页面 8.导出设备的页面,仅仅在所有设备页面才支持导出按钮 9. ...

  3. MVC 学习(一)Linq to Entities 简单Demo

    Linq定义了一组标准查询符号,标准查询符允许查询作用于所有基于IEnumerable<T>接口源. 我们看看LINQ的总体架构.如下图所示 EF4.1 数据操作及持久化,常见的是Data ...

  4. threejs- z-fighting 问题(模型的重叠部位便不停的闪烁起来。这便是Z-Fighting问题)

    Z-Buffer 在threejs中,使用深度缓冲(Z-Buffer)来完成场景可见性计算,即确定场景哪部分可见,哪部分不可见.深度缓冲(Z-Buffer)是一个二维数组,其中的每一个元素对应屏幕上的 ...

  5. iconfont项目成员添加不进去的问题

    经别的网友提醒,发现是我用的chrome浏览器的问题,这顿折腾....解决方案:换一个浏览器试试.

  6. CSS 图片居中

    } .left-logo a { height: 100px; width: 55px; display: block; } .left-logo a img{ height: ; width: 55 ...

  7. sublime 注释模版插件DocBlockr的使用

    一.gihub地址 https://github.com/spadgos/sublime-jsdocs/ 其中有使用的教程可以参考 二.配置示例 安装教程此处略,请自行查找教程 jsdocs_extr ...

  8. HDU_2112(最短路)

    经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强.这时候,XHD夫妇也退居了二线,并在风景秀美的诸暨市浬 ...

  9. 网卡驱动如何设置组播MAC地址

    参考资料: https://blog.csdn.net/abccheng/article/details/50465268 将网卡加入到组播组中.

  10. How to reconfigure installed dpkg package (tzdata, locales)

    1 List the installed dpkg package $ sudo dpkg --list 2 Reconfigure the package $ sudo dpkg-reconfigu ...