标识用户是 Oracle 数据库管理的基本要求之一,每一个能够连接到数据库的用户都必须是系统的合法用户。用户想要使用 Oracle 的系统资源,就必须拥有相应的权限。

 一、身份验证

  Oracle 为用户账户提供了3中身份验证方法:

  1、密码验证

    当一个使用密码验证机制的用户视图连接到数据库时,数据库会核实用户名是否为一个有效的数据库账户,并且提供与该用户在数据库中存储的密码想匹配的密码。

    由于用户信息和密码都存储在数据库内部,所有使用密码验证用户也称为数据库验证用户。

  2、外部验证

    外部验证是指用户视图连接到数据库时,数据库会核实用户名是否为一个有效的数据库账户,并且确认该用户已经完成了操作系统级别的身份验证。

    注意:外部验证用户并不在数据库中存储一个验证密码。

  3、全局验证

    全局验证是指用户不在数据库中存储验证密码,而是通过一种高级安全选项所提供的身份验证服务来进行的。

  上述的3种验证方式中,密码验证是最常用的验证方法,其他的2种有兴趣的可以查阅 Oracle 官网文档。

 二、创建用户

  创建用户使用 create user 命令

  语法格式:

  create user  user_name  identified  by password

  [ or  identified exeternally ]

  [ or  identified globally as 'CN=user' ]

  [ default tablespace tablespace_default ]

  [ temporary tablespace tablespace_temp ]

  [ quota [ integer k[m] ] [ unlimited ] on tablesapce_specify1

  [,quota [ integer k[m] ] [ unlimited ] on tablesapce_specify2

  [,...] ... on tablespace_specifyn

  [ profiles  profile_name ]

  [ account lock or  account unlock ]

  • user_name:用户名:一般为字母数字型和“ # ” 及 “ _ ” 符号
  • password: 用户口令:一般为字母数字型和“ # ” 及 “ _ ” 符号
  • identified exeternally:表示用户名在操作系统下的验证,这种情况下要求该用户必须和操作系统中所定义的用户名相同。
  • identified globally as 'CN=user' :表示用户名由 Oracle 安全域中心服务器验证,CN名字表示用户的外部名
  • default tablespace tablespace_default:表示该用户在创建数据对象时使用的默认表空间,不指定表空间,Oracle 会将 system 表空间作为用户的默认表空间。
  • temporary tablespace tablespace_temp:表示该用户所使用的临时表空间。不指定临时表空间,Oracle会将数据库默认临时表空间作为用户的临时表空间。
  • quota [ integer k[m] ] [ unlimited ] on tablesapce_specify1:表示该用户在指定表空间中允许占用的最大空间。不指定quota 字句,用户在特定表空间上的配额为0,用户将不能在相应的表空间上建立数据对象。
  • [ profiles  profile_name ]:资源文件的名称。
  • [ account lock or  account unlock ]:用户是否被加锁,默认情况下是不加锁的。

  注意:初始建立的用户没有任务权限,不能执行任何数据库操作。

 三、修改用户

  用户创建完后,管理员可以对用户进行修改,包括口令、默认表空间、临时表空间等。修改与创建语法基本相似,只是把“create” 关键字替换成 “alter” 而已。

  Example1:指定了用户在某个表空间的磁盘限额,过段时间,用户使用的表空间达到限额时,系统会报错,这就需要管理员为用户增加表空间限额。

   SQL> alter user(用户名) east quota 20M  on  tbsp_1;

  Example2:修改用户的口令

   SQL > alter  user  east  identified  by 123456;

  Example3:解锁被锁住的用户

   SQL> alter  user  HR  account  unlock;

 四、删除用户

  删除用户后,Oracle 会从数据字典中删除用户,方案及其所有的对象方案。

  语法:

  drop user  user_name [ cascade ]

  • user_name: 要删除的用户名
  • cascade:级联删除选项,如果用户包含数据库对象,则必须加 cascade 选项,此时连同该用户所拥有的对象一起删除。

  Example:删除用户df,并连同该用户所拥有的对象一起删除。

  SQL> drop  user df  cascade;

Oracle 创建与管理用户的更多相关文章

  1. oracle创建表空间-用户-角色-授权

    1.创建数据表空间: SQL> create tablespace rusky_data datafile 'D:\rusky\rusky_data01,dbf' size 10M autoex ...

  2. oracle创建数据库和用户

    以前开发的时候用得比较多的是mysql和sql server,oracle用的比较少,用起来比较生疏,mysql和sql server用起来比较类似,就oracle的使用方式和他们不同,oracle在 ...

  3. oracle创建新的用户 创建序列 并生成自动自增

    1.用有dba权限的用户登录:sys用户 system 口令:manager 2.创建一个新用户:create user abc identified by 123456; 3.授予DBA权限: gr ...

  4. 【转载】Oracle创建数据库和用户

    以前开发的时候用得比较多的是mysql和sql server,oracle用的比较少,用起来比较生疏,mysql和sql server用起来比较类似,就oracle的使用方式和他们不同,oracle在 ...

  5. Oracle创建、管理撤销表空间

    撤销管理模式: 用户通过设定撤销管理模式(undo mode)就可以灵活地选择使用手动撤销管理(manual undo management)或自动撤销管理(automatic undo manage ...

  6. Oracle创建,删除用户与表空间

    1.创建表空间与用户 a:创建数据表空间 create tablespace user_data logging datafile 'D:\oracle\product\10.2.0\oradata\ ...

  7. Oracle——创建和管理表

    一.常见的数据库对象 对象 描述 表 基本的数据存储集合,由行和列组成 视图 从表中抽出的逻辑上相关的数据集合 序列 提供有规律的数值 索引 提高查询的效率 同以词 给对象起别名 二.Oracle 数 ...

  8. Oracle创建 表空间 用户 给用户授权命令

    //创建表空间 create tablespace ACHARTSdatafile 'D:\oradata\orcl\ACHARTS01.DBF' size 800mautoextend on nex ...

  9. oracle使用profile管理用户口令

    概述:profile是口令限制.资源限制的命令集合,当建立数据时,oracle会自动建立名称为default的profile,当建立用户没有指定profile选项,那么oracle就会将default ...

随机推荐

  1. 【转】URL短地址压缩算法 微博短地址原理解析 (Java实现)

    转自: URL短地址压缩算法 微博短地址原理解析 (Java实现) 最近,项目中需要用到短网址(ShortUrl)的算法,于是在网上搜索一番,发现有C#的算法,有.Net的算法,有PHP的算法,就是没 ...

  2. FFMPEG Tips 如何提取码流的基本信息

    原文连接: https://zhuanlan.zhihu.com/p/23448271 1. 码流中的哪些信息值得关注 ? [ ] 是否包含:音频.视频 [ ] 码流的封装格式 [ ] 视频的编码格式 ...

  3. win10 配置git 环境变量

    'git' 不是内部或外部命令,也不是可运行的程序 或批处理文件. 解决办法: 去百度大概搜了一下,是因为没有配置Git环境变量的原因,但是没有具体的解决步骤,特此记录一下. 右键查看git安装目录: ...

  4. python 中requests的返回数可直接使用json

    对Python的request不是很了解,在使用时才发现,可以把request的请求结果,直接使用.json()['字段名']方法进行一个取值,案例如下 def test_tiantian(self) ...

  5. 用于抓取vijos所有题目信息的node.js脚本

    代码如下: var superagent = require('superagent'); var fs = require('fs'); /* fetch_vijos_problems 这个脚本用于 ...

  6. Jq如何获取并操作iframe中的元素?

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  7. (CSDN迁移) 替换字符串中的空格

    题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. public ...

  8. springboot集成mybatisplus小例子

    集成mybatisplus后,简单的CRUD就不用写了,如果没有特别的sql,就可以不用mapper的xml文件的. 目录 pom.xml文件 <?xml version="1.0&q ...

  9. Maven中解决jar包冲突的三种方式

    首先我们在idea中创建一个maven工程,我们只关注pom.xml以及External Libraries中导入的jar包 导入spring-beans.jar <dependency> ...

  10. Word2016经常复制公式卡死无响应如何解决?

    Word文件 > 选项 > 高级 > 显示 > 禁用“硬件图形加速”