oracle学习笔记一:用户管理(2)创建删除用户
本文主要介绍如何创建和删除用户,当然里面牵涉很多知识,慢慢道来。
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)创建删除用户的更多相关文章
- Oracle 学习笔记3:新建数据库没有scott用户解决办法
		新建一个数据库,若选择Oracle组件时,没有选择实例方案,完成后进行口令管理,默认列表中是找不到scott用户解锁的.若要解锁scott用户,可以进行如下操作: 使用system或者sys连接数据库 ... 
- blfs(systemd版本)学习笔记-编译安装sudo并创建普通用户配置sudo权限
		我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! blfs书中sudo的安装配置章节:http://www.linuxfromscratch.org/blfs/view/stab ... 
- blfs(systemv版本)学习笔记-编译安装sudo并创建普通用户配置sudo权限
		我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! blfs书中sudo的安装配置章节:http://www.linuxfromscratch.org/blfs/view/8.3/ ... 
- oracle 学习笔记--用户管理
		oracle 用户管理 创建用户(需要具有dba权限的用户) create user 用户名 identified by 密码 defaule tablespace users //默认表空间 ... 
- Spring MVC 学习笔记8 —— 实现简单的用户管理(4)用户登录
		Spring MVC 学习笔记8 -- 实现简单的用户管理(4)用户登录 增删改查,login 1. login.jsp,写在外面,及跟WEB-INF同一级目录,如:ls Webcontent; &g ... 
- Oracle学习笔记—数据字典和常用命令(转载)
		转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ... 
- Android学习笔记——Activity的启动和创建
		http://www.cnblogs.com/bastard/archive/2012/04/07/2436262.html Android Activity学习笔记——Activity的启动和创建 ... 
- Linux内核学习笔记-2.进程管理
		原创文章,转载请注明:Linux内核学习笔记-2.进程管理) By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ... 
- golang学习笔记5 用bee工具创建项目 bee工具简介
		golang学习笔记5 用bee工具创建项目 bee工具简介 Bee 工具的使用 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/docs/instal ... 
- linux kernel学习笔记-5内存管理_转
		void * kmalloc(size_t size, gfp_t gfp_mask); kmalloc()第一个参数是要分配的块的大小,第一个参数为分配标志,用于控制kmalloc()的行为. km ... 
随机推荐
- Android Studio无法打印Logout日志
			华为手机: 在拨号界面输入:*#*#2846579#*#* 进入测试菜单界面,然后Project Menu → 后台设置 → LOG设置LOG 开关 → LOG 打开 LOG 级别设置 ... 
- vue解决遮罩层滚动方法
			vue 遮罩层阻止默认滚动事件 在写移动端页面的时候,弹出遮罩层后,我们仍然可以滚动页面. vue中提供 @touchmove.prevent 方法可以完美解决这个问题 <div class=& ... 
- HR 常用事务代码
			HR的键值权限查看: oosb 删除人员 : pu01 查看人员主数据:PA30 对人员进行入职.离职.调岗等基本操作:PA40 查看HR中的公式的意思:PE04 查看HR中的工资项:PE02 创建 ... 
- java ASM动态生成类
			BeanTest2.java import java.io.FileOutputStream; import org.objectweb.asm.AnnotationVisitor; import o ... 
- c# 关于取小数点后值四舍五入精度问题
			---恢复内容开始--- 最近做一个校验码验证法算法的生成程序,涉及到取小数点后值的问题;对其中遇到的问题做一下总结: 1:ToString()转换时碰到0.9999999999999之类的数据,给自 ... 
- IDEA 的 Edit 设置
			1.设置鼠标悬浮提示 General -- Show quick documentation on mouse move 2.自动导包 3.设置显示行号和方法的间隔符 4.忽略大小写 4.设置取消单 ... 
- linux 使用笔记2
			安装chrome浏览器在Fedora 23 下载pub wget https://dl-ssl.google.com/linux/linux_signing_key.pub 安装pub sudo rp ... 
- CODE[VS]2494 Vani和Cl2捉迷藏
			原题链接 这里有一个结论:最多能选取的藏身点个数等于最小路径可重复点覆盖的路径总数. 所以我们可以先传递闭包,然后求最小路径点覆盖即可. #include<cstdio> #include ... 
- VirtualBox中安装Fedora9及其ARM开发环境配置
			因为要学习Tiny4412开发板的嵌入式编程,需要用到Fedora9系统(和手册对应),我就在VirtualBox虚拟机(此虚拟机安装在Ubuntu12.04上)上安装了Fedora9,下面就讲解一下 ... 
- [Python]Python章1 Python中_的故事
			_xx 单下划线开头 Python中没有真正的私有属性或方法,可以在你想声明为私有的方法和属性前加上单下划线,以提示该属性和方法不应在外部调用.如果真的调用了也不会出错,但不符合规范. 本文为译文,版 ... 
