创建和管理数据库用户账户

用户账户属性

用户账户拥有很多在创建账户时定义的属性。这些属性将应用于连接到账户的会话,在会话运行期间,DBA或会话可以更改其中一些属性。

  • 用户名
  • 身份验证方法
  • 默认表空间
  • 表空间配额
  • 临时表空间
  • 用户配置文件
  • 账户状态

在创建用户时,用户名和身份验证方法是必需的,其他的都有默认值。

  1. 用户名 数据库中的用户名必须是唯一的,必须以字母开头,字符数不能超过30个,只能包含字母、数字、$和_。用户名不能是保留字。字母区分大小写,但所有字母将自动转换为大写字母。如果在双引号中指定用户名,可以不遵守这些规则(长度除外),以后必须使用双引号连接到账户。
  2. 默认表空间和配额 每个用户账户都有默认的表空间。用户创建的任何模式对象(如表或索引)将保存在此表空间中。用户可以拥有获得配额的任何表空间上的对象,但除非在创建对象时指定另一个表空间,否则,对象就放在用户的默认表空间中。如果在创建用户时未指定默认表空间,数据库范围的默认表空间将应用于所有用户账户。可以在创建数据库时设置默认表空间,也可以以后使用下面的语法进行更改:ALTER DATABASE DEFUALT TABLESPACE tablespace_name; 如果创建数据库时未指定默认表空间,则将SYSTEM设置为默认表空间。“配额”是表空间中用户允许占用的空间量。到达配额之前,用户可以创建对象,并为其分配区间。如果表空间中的配额已经用尽,则将无法创建任何对象。配额可以随时更改。如果将用户配额限制为低于其已拥有的对象大小(甚至缩减为0),对象将生存下来,且仍可用,但不允许变大。要创建段,用户必须具有执行CREATE TABLE的权限,而且拥有在其中创建表的表空间上的配额。
  3. 临时表空间 永久对象(如表)存储在永久表空间中,而临时对象存储在临时表空间中。如果会话为执行某些操作,需要的空间量超出了会话PGA的可用空间量,则需要临时表空间中的空间,为每个用户账户都会分配临时表空间,但连接到该账户的所有用户会话将共享此临时表空间。不需要为用户授予临时表空间上的配额。其原因是,临时表空间中的对象并不归用户真正拥有,而是属于SYS用户,SYS用户拥有所有表空间上的无限配额。要更改用户的临时表空间(将影响连接到账户的所有未来会话),请使用ALTER USER命令:ALTER USER username TEMPORARY TABLESPACE tablespace_name;
  4. 账户状态 每个用户账户都有一定的状态,如DBA_USERS的ACCOUNT_STATUS列所示。有5种可能的状态:
    • 打开(OPEN) 账户可供使用
    • 锁定(LOCKED) 表示DBA故意锁定账户,任何用户都不能连接到锁定的账户。
    • 过期(EXPIRED) 表示口令生命周期已经终结。口令只拥有有限的生命周期。在重置口令之前,任何用户都不能连接到EXPIRED账户。
    • 正常过期(EXPIRED(GRACE))这表示“正常时间段(grace period)”生效。口令在生命周期结束时并不立即过期:可以配置一个正常时间段,在此期间,连接到相应账户的用户有机会更改口令。
    • 超时锁定(LOCKED(TIMED)) 这表示由于登录尝试失败,账户已被锁定。可以将账户配置为:在错误口令出现一定的次数后,账户将自动锁定。

要锁定账户和解除账户的锁定,请使用以下命令:

ALTER USER username ACCOUNT LOCK;

ALTER USER username ACCOUNT UNLOCK;

要强制用户更改口令,请使用以下命令:

ALTER USER username PASSWORD EXPIRE;

这将立即开启正常阶段,强制用户在下次尝试登录时更改口令。不存在诸如“alter...unexpired”的命令,要使账户再次完全运行,唯一的途径是重置口令。

身份验证方法

用户账户必须具有身份验证方法:数据库可以借助这些方法,确定查实创建会话(连接到账户的会话)的用户是否有权这么做。最简单的技术是提供一个与数据库中存储的口令匹配的口令,除此之外,还有其他方法:

  • 操作系统身份验证
  • 口令文件身份验证
  • 口令身份验证
  • 外部身份验证
  • 全局身份验证

前两项技术仅供管理员使用,最后一项技术要求使用LDAP目录服务器。LDAP目录服务器是Oracle Internet Directory,作为Oracle Fusion Middleware Suite的一部分发布。

创建账户

CREATE USER命令包含两个必需的参数:用户名和身份验证方法。它可选地接收指定默认表空间和临时表空间的子句、一个或多个配额子句、命名配置文件以及锁定账户和使口令过期的命令。

 create user scott identified by tiger
default tablespace users temporary tablespace temp
quota 100m on users,quota unlimited on example
profile developer_profile
password expire
account unlock;

只有第一行是必需的,其他的都具有默认设置。

  1. 提供用户名,以及用于口令验证的口令。
  2. 提供默认表空间和临时表空间
  3. 设置默认表空间和另一个表空间上的配额。
  4. 为用于口令和资源管理的配置文件命名。
  5. 强制用户立即更改口令。
  6. 使账户变得可用。

除名称外,可以使用ALTER USER命令调整账户上的每个属性。

删除账户:drop user scott;

只有用户不拥有任何对象时,此命令才能成功,即要求模式是空的。如果不希望首先确定拥有的所有对象并删除它们,则可以指定CASCADE将这些与用户一起删除:

drop user scott cascade;

授予和撤销权限

系统权限

常用的权限如下:

  • 创建会话(CREATE SESSION)
  • 受限制会话(RESTRICTED SESSION)
  • 更改数据库(ALTER DATABASE)
  • 更改系统(ALTER SYSTEM)
  • 创建表空间(CREATE TABLESPACE)
  • 创建表(CREATE TABLE)
  • 授予任何对象权限(GRANT ANY OBJECT PRIVILEGE)
  • 创建任何表(CREATE ANY TABLE)
  • 删除任何表(DROP ANY TABLE)
  • 插入任何表、更新任何表、删除任何表(INSERT ANY TABLE,UPDATE ANY TABLE,DELETE ANY TABLE)
  • 选择任何表(SELECT ANY TABLE)

权限分析

重要的过程:

  • dbms_privilege_capture.create_capture
  • dbms_privilege_capture.enable_capture
  • dbms_privilege_capture.disable_capture
  • dbms_privilege_capture.generate_result

重要的视图:

  • dba_used_privs
  • dba_unused_privs

创建和管理配置文件

口令配置文件的限制

使用配置文件(profile)可以实施口令策略。

Oracle 安全性一的更多相关文章

  1. Oracle数据库安全性设计

    一.什么是安全的系统 安全性建设是一个长期并且卓绝的工作.作为一个符合标准的企业级系统,我们认为税务系统应该具备以下的安全性特点: ◆高可用性 ◆对敏感数据的访问控制能力. ◆监测用户行为的审计能力. ...

  2. 数据库、MySQL下载与安装、基本SQL语句

    数据演变史 # 1.单独的文本文件 没有固定的存放位置 没有固定的数据格式 '''程序彼此无法兼容 没有统一的标准''' # 2.软件开发目录规范 按照文件功能的不同规定了相应的位置 '''文件查找变 ...

  3. 数据管理技术发展,数据库应用发展史,数据库分类,MySQL

    计算机数据管理技术发展 1. 自由管理阶段 用户以文件形式将数据组织起来,并附属在各自的应用程序下.    1.数据不保存     当时计算机主要用于科学计算,一般不需要将数据长期保存,只是计算某一课 ...

  4. 数据库---实验四 oracle的安全性和完整性控制

    实验内容: (一) 授权 . 以dba用户的身份登陆oracle,创建用户u1+学号后四位,u2+学号后四位. SQL> create user u1_3985 identified by &q ...

  5. Oracle数据库——数据库安全性管理

    一.涉及内容 1.验证系统权限管理. 2.验证角色管理. 3.验证概要文件管理. 二.具体操作 (一) 1.根据以下要求进行系统权限的授予与回收操作. (1)创建用户user1,并为它授予create ...

  6. 技巧:如何提升Oracle用户密码的安全性

    环境:Oracle 11.2.0.4 客户需求:主要背景是数据库中有很多业务用户名,且由于部分用户缺乏安全意识,甚至直接将自己的密码设置为和用户名一样,目前客户期望密码设置不要过于简单,最起码别和用户 ...

  7. oracle ebs应用产品安全性-定义访问权限集

    定义 定义访问权限集是一项分配至责任层的可选的安全功能,是对Oracle 11i应用产品弹性域安全性定义的功能扩展,对总帐管理模块的一些内容进行安全性定义和权限分配的集合,以控制不同的责任对一些内容的 ...

  8. oracle ebs应用产品安全性-数据访问权限集

    定义 数据访问权限集是一个重要的.必须设定的系统配置文件选项.对具有相同科目表.日历和期间类型的分类帐及其所有平衡段值或管理段值的定义读写权限,系统管理员将其分配至不同的责任以控制不同的责任对分类帐数 ...

  9. 配置Oracle GoldenGate安全性

    本章介绍如何配置Oracle GoldenGate安全性. 本章包括以下部分: Overview of Oracle GoldenGate Security Options Encrypting Da ...

随机推荐

  1. 面向对象第四章(封装、static)

    1.package: 1)作用:避免类名的冲突 2)包名可以有层次结构 3)类的全称: 包名.类名,同包中的类不能同名 4)建议:包名所有字母都小写 import: 1)同包中的类可以直接访问, 不同 ...

  2. 使用iview时,页面没了滚动条

    场景:页面中有一个确认按钮,保存后弹框预览在点保存按钮,实现数据提交.提交后回到数据列表页,用this.$router.push('list'),返回后页面无法滚动了. 原因:排查后发现弹框时在bod ...

  3. js判断pc端和移动端的方法

    function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", " ...

  4. 远景平台开发者上线,专业API免费使用

    远景平台开发者上线,欢迎大伙围观使用. 在开发者中心你可以做什么? 1.管理你的应用,通过APPKEY获取在线API.使用云中的数据和地图. 2.学习API的使用,包含API参考和部分例子(目前例子很 ...

  5. MUI框架-13-使用百度地图 API(图文教程)

    MUI框架-13-使用百度地图 API(图文教程) 后面有实例,转载请注明出处 一.申请百度地图权限 1.打开 百度地图开放平台:http://lbsyun.baidu.com/apiconsole/ ...

  6. SVG坐标系统和transformation彻底理解

    翻译自https://sarasoueidan.com/blog/svg-coordinate-systems/ SVG元素不像传统的HTML elements一样受制于css box model.这 ...

  7. Sql server字段排序,如果字段是字符型的数字

    SELECT id , rownum FROM test ))),) ASC 1.如果想要根据字符型的数字排序,不建议转换成数字类型在order by,因为数据存在字符时,可能转换失败. 2.使用RI ...

  8. C# winfrom提示框,点击则不显示,不点击则提示输入内容

    先看下效果图,初次进来是界面左边的效果,点击请输入账号,清除内容,可以直接输入,右边图                            以下代码是失去焦点的,一定要把控件的属性TabStop 改 ...

  9. 关于Unity3d的Quaternion.Slerp的学习

    首先在场景中创建三个cube的GameObject,from表示要转换之前的样子,to表示转换之后的样子,change表示转的效果.如下图所示: 其中from和change cube开始运行之前的tr ...

  10. 异常处理与MiniDump详解(2) 智能指针与C++异常

    write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件 一.   综述 <异常处理与MiniDump详解(1) C++异常>稍 ...