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 ...
随机推荐
- shell脚本计算斐波那契数列
计算斐波那契数列 [1,1,2,3,5,8,,,,,] #!/bin/bash n=$ num=( ) i= while [[ $i -lt $n ]] do let num[$i]=num[$i-] ...
- php使用sftp上传文件
搞这个SFTP文件传输搞了一整天真是醉了,从sftp安装,到php的ssh2扩展安装,最后到php应用ssh2来上传文件:最后就没有最后了 Failure creating remote file: ...
- webstorm 打包angular Module build failed: Error: No PostCSS Config found
angular创建项目后,在webstorm中启动时,报出如题错误,奇怪的是我从命令行启动(ng server)是没有问题的,多方寻求无果,在网上看到过说要加一个配置文件,我不信.我觉得是我配置哪里有 ...
- js 实现的简易计算器
<!DOCTYPE html><html lang="zh-CN"><head> <!-- <meata charset='utf- ...
- 制作根文件系统之内核如何启动init进程
start_kernel其实也是内核的一个进程,它占用了进程号0,start_kernel的内容简写如下: asmlinkage void __init start_kernel(void) //内核 ...
- mybatis入门--单表的增删改操作
单表的增加操作 前面我们看了如何搭建mybatis框架以及查询操作,这里我们说下如何使用mybatis进行增加用户的操作.首先是在user.xml文件中添加insert的方法.代码如下 <!-- ...
- PAT 1049 数列的片段和(20)(代码+思路分析)
1049 数列的片段和(20)(20 分) 给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段.例如,给定数列{0.1, 0.2, 0.3, 0.4},我们有(0.1) (0.1, 0.2 ...
- Hadoop(一) HADOOP简介
1. HADOOP背景介绍 1.1 什么是HADOOP HADOOP是apache旗下的一套开源软件平台 HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 H ...
- a[i++]
今天才知道,a[i++]到底是什么意思:: 其实也很简单了,就是a[i]的值还是a[i],然后i自增1: 把这篇博客当作平常各种错题博客吧,把各种从网上抄的代码不懂的地方写到这个地方算了 ====== ...
- js对象通过属性路径获取属性值 - getPropByPath
function getPropByPath(obj, path) { let tempObj = obj; path = path.replace(/\[(\w+)\]/g, '.$1'); pat ...