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

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. http406错误

    The resource identified by this request is only capable of generating responses with characteristics ...

  2. idea不识别yml配置文件,怎么办?

      问题描述: 如下图,新建的springboot项目,添加了自定义的配置文件后,2.yml无法像上方文件的一样,被识别成配置文件! 虽然可能不会影响项目(不确定),但问题不解决,根本没有心情开始下一 ...

  3. how2j学习日志——J2EE(2018年3月28日)

    1. 开始跟着站长学习J2EE,首页是简单的Tomcat安装和部署,我从官网上下载的是7.0.85版本,修改server.xml中的默认端口号为80.80端口是web服务的默认端口,因此在浏览器上输入 ...

  4. Python使用SMTP发送邮件(163,yeah等网易邮箱已测试可以)

    #! /usr/bin/env python# -*- coding: UTF-8 -*-import smtplibfrom email.mime.text import MIMETextmailt ...

  5. vue之微信登录

    参考文章https://www.cnblogs.com/examine/p/4634947.html 微信开放平台和公众平台的区别1.公众平台面向的是普通的用户,比如自媒体和媒体,企业官方微信公众账号 ...

  6. TotoiseSVN 使用参考文章

    SVN使用教程总结 http://www.cnblogs.com/armyfai/p/3985660.html TotoiseSVN的基本使用方法 http://www.cnblogs.com/xil ...

  7. c# 24种设计模式4建造者模式(Builder)

    先来一个例子 建造者接口 public interface IBuilder { void CreateLogo(); void CreateBody(); void CreateWheel(); v ...

  8. (转)android权限(permission)大全

    文章转载自:http://blog.csdn.net/hai_qing_xu_kong/article/details/24265533 1.android.permission.WRITE_USER ...

  9. Android.PublishApplication

    发布应用 3. 为App签名 Android 要求App在安装前,需要使用证书(certificate)来进行数字签名(be digitally signed). Android 用证书来标识一个Ap ...

  10. Android.InstallDevelopmentEvn

    1. 如何搭建Android Application的开发环境 http://blog.csdn.net/yzhj2005/article/details/6980676 2. 在Mac OS X系统 ...