书签 分享 收藏 举报 版权申诉 / 132
上传文档赚钱

类型华科数据库课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2810500
  • 上传时间:2022-05-28
  • 格式:PPT
  • 页数:132
  • 大小:435.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《华科数据库课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    数据库 课件
    资源描述:

    1、数据库技术与应用 1第三篇第三篇 系统篇系统篇 第十章 数据库恢复技术第十一章 并发控制第四章 数据库安全性第五章 数据库完整性数据库技术与应用 2第十章第十章 数据库恢复技术数据库恢复技术10.1 事务的基本概念10.2 数据库恢复概述10.3 故障的种类10.4 恢复的实现技术10.5 恢复策略10.6 具有检查点的恢复技术10.7 数据库镜像10.8 Oracle的恢复技术10.9 小结数据库技术与应用 3银行转帐银行转帐银行转帐:张三从帐号A中取出一万元,存入帐号B。n第一步:A账号扣减1万元;n第二步:B账号增加1万元;n问题:第一步完成后,突然停电,怎么办?n1万元消失了,找谁去喊

    2、冤? A=A-1B B=B+1A数据库技术与应用 4最后账上只有最后账上只有14万!苍天呀!大地呀!万!苍天呀!大地呀!同时,老婆在商场逛街,消费了2万元读A=余额16万14万16万 2万写回数据库A=14张三辛苦打工,挣了3万元,存入银行; A=余额16万 19万16万 + 3万 写入数据库A=19张三老婆张三数据库技术与应用 510.1 事务的基本概念事务的基本概念一、什么是事务二、如何定义事务三、事务的特性数据库技术与应用 6一、什么是事务一、什么是事务n事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位n事务和程序是两个

    3、概念n在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序n一个应用程序通常包含多个事务n事务是恢复和并发控制的基本单位数据库技术与应用 7二、如何定义事务二、如何定义事务n显式定义方式 BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句1 SQL 语句1 SQL 语句2 SQL 语句2 。 。 COMMIT ROLLBACKn隐式方式当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务数据库技术与应用 8事务结束事务结束COMMIT事务正常结束 提交事务的所有操作(读+更新)事务中所有对数据库的更新永久生效ROLLBACK事务异常终止

    4、n事务运行的过程中发生了故障,不能继续执行回滚事务的所有更新操作n事务滚回到开始时的状态数据库技术与应用 9三、事务的特性三、事务的特性(ACID特性特性)事务的ACID特性:n原子性(Atomicity)n一致性(Consistency)n隔离性(Isolation)n持续性(Durability )数据库技术与应用 101. 原子性(原子性(Atomicity)n事务是数据库的逻辑工作单位n事务中包括的诸操作要么都做,要么都不做数据库技术与应用 112. 一致性(一致性(Consistency)事务执行的结果必须是使数据库从一个 一致性状态变到另一个一致性状态一致性状态:数据库中只包含成功

    5、事务提交的结果不一致状态:数据库中包含失败事务的结果数据库技术与应用 12一一致性与原子性致性与原子性银行转帐:从帐号A中取出一万元,存入帐号B。n定义一个事务,该事务包括两个操作n这两个操作要么全做,要么全不做n全做或者全不做,数据库都处于一致性状态。n如果只做一个操作,数据库就处于不一致性状态。B=B+1 A=A-1BA数据库技术与应用 133. 隔离性(隔离性(Isolation)对并发执行而言一个事务的执行不能被其他事务干扰n一个事务内部的操作及使用的数据对其他并发事务是隔离的n并发执行的各个事务之间不能互相干扰数据库技术与应用 14T1的修改被的修改被T2覆盖了!覆盖了!读A=16A

    6、A-3写回A=13 读A=16 AA-1 写回A=15T2T1数据库技术与应用 154. 持续性(持续性( Durability )n持续性也称永久性(Permanence)n一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。n接下来的其他操作或故障不应该对其执行结果有任何影响。数据库技术与应用 16事务的特性事务的特性 n保证事务ACID特性是事务处理的任务n破坏事务ACID特性的因素n多个事务并行运行时,不同事务的操作交叉执行n事务在运行过程中被强行停止数据库技术与应用 17第十章第十章 数据库恢复技术数据库恢复技术10.1 事务的基本概念10.2 数据库恢复概述10.3 故障的种

    7、类10.4 恢复的实现技术10.5 恢复策略10.6 具有检查点的恢复技术10.7 数据库镜像10.8 Oracle的恢复技术10.9 小结数据库技术与应用 1810.2 数据库恢复概述数据库恢复概述n故障是不可避免的n计算机硬件故障n系统软件和应用软件的错误n操作员的失误n恶意的破坏n故障的影响n运行事务非正常中断n破坏数据库数据库技术与应用 19第十章第十章 数据库恢复技术数据库恢复技术10.1 事务的基本概念10.2 数据库恢复概述10.3 故障的种类10.4 恢复的实现技术10.5 恢复策略10.6 具有检查点的恢复技术10.7 数据库镜像10.8 Oracle的恢复技术10.9 小结

    8、数据库技术与应用 20一、事务故障一、事务故障n什么是事务故障n某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了n事务故障的常见原因n输入数据有误n运算溢出n违反了某些完整性限制n某些应用程序出错n并行事务发生死锁n数据库技术与应用 21事务故障的恢复事务故障的恢复n发生事务故障时,夭折的事务可能已把对数据库的部分修改写回磁盘n事务故障的恢复:撤消事务(UNDO)n强行回滚(ROLLBACK)该事务n清除该事务对数据库的所有修改,使得这个事务象根本没有启动过一样数据库技术与应用 22二、系统故障二、系统故障n什么是系统故障n整个系统的正常运行突然被破坏n所有正在运行的事务都非正常终止

    9、n内存中数据库缓冲区的信息全部丢失n外部存储设备上的数据未受影响数据库技术与应用 23系统故障的常见原因系统故障的常见原因n操作系统或DBMS代码错误n操作员操作失误n特定类型的硬件错误(如CPU故障)n突然停电数据库技术与应用 24系统故障的恢复系统故障的恢复n 清除尚未完成的事务对数据库的所有修改n系统重新启动时,恢复程序要强行撤消(UNDO)所有未完成事务n将缓冲区中已完成事务提交的结果写入数据库n系统重新启动时,恢复程序需要重做(REDO)所有已提交的事务数据库技术与应用 2510.3 故障的种类故障的种类n事务故障n系统故障n介质故障数据库技术与应用 26三、介质故障三、介质故障n硬

    10、件故障使存储在外存中的数据部分丢失或全部丢失n介质故障比前两类故障的可能性小得多,但破坏性大得多数据库技术与应用 27介质故障的常见原因介质故障的常见原因n硬件故障n磁盘损坏n磁头碰撞n操作系统的某种潜在错误n瞬时强磁场干扰数据库技术与应用 28介质故障的恢复介质故障的恢复n装入数据库发生介质故障前某个时刻的数据副本n重做自此时始的所有成功事务,将这些事务已提交的结果重新记入数据库数据库技术与应用 29恢复操作的基本原理恢复操作的基本原理n恢复操作的基本原理:冗余n利用存储在系统其它地方的冗余数据来重建数据库中已被破坏或不正确的那部分数据n恢复的实现技术:复杂n一个大型数据库产品,恢复子系统的

    11、代码要占全部代码的10%以上数据库技术与应用 30第十章第十章 数据库恢复技术数据库恢复技术10.1 事务的基本概念10.2 数据库恢复概述10.3 故障的种类10.4 恢复的实现技术10.5 恢复策略10.6 具有检查点的恢复技术10.7 数据库镜像10.8 Oracle的恢复技术10.9 小结数据库技术与应用 3110.4 恢复的实现技术恢复的实现技术恢复机制涉及的关键问题1. 如何建立冗余数据n数据转储(backup)n日志文件(logging)2. 如何利用这些冗余数据实施数据库恢复数据库技术与应用 32日志文件的内容日志文件的内容1. 什么是日志文件日志文件(log)是用来记录事务对

    12、数据库的更新操作的文件2. 日志文件的格式以记录为单位的日志文件以数据块为单位的日志文件数据库技术与应用 33日志文件的内容(续)日志文件的内容(续)3. 日志文件内容n各个事务的开始标记(BEGIN TRANSACTION)n各个事务的结束标记(COMMIT或ROLLBACK)n各个事务的所有更新操作n与事务有关的内部更新操作数据库技术与应用 3410.4.1 数据转储数据转储一、什么是转储二、转储的用途三、转储方法数据库技术与应用 35一、什么是转储一、什么是转储n转储是指DBA将整个数据库复制到磁带或另一个磁盘上保存起来的过程。n这些备用的数据文本称为后备副本或后援副本。数据库技术与应用

    13、 36转储转储 故障发生点故障发生点 转储转储 运行事务运行事务 正常运行正常运行 Ta Ta Tb Tb Tf Tf 重装后备副本重装后备副本 重新运行事务重新运行事务恢复恢复 数据库技术与应用 37三、转储方法三、转储方法1静态转储与动态转储2海量转储与增量转储3转储方法小结数据库技术与应用 381静态转储静态转储n在系统中无运行事务时进行转储n转储开始时数据库处于一致性状态n转储期间不允许对数据库的任何存取、修改活动n优点:实现简单n缺点:降低了数据库的可用性n转储必须等用户事务结束n新的事务必须等转储结束数据库技术与应用 39利用静态转储副本进行恢复利用静态转储副本进行恢复 故障发生点

    14、故障发生点 静态静态转储转储 运行事务运行事务 正常运行正常运行 Ta Ta Tb Tb Tf Tf 重装后备副本重装后备副本 恢复恢复 数据库技术与应用 40动态转储动态转储n转储操作与用户事务并发进行n转储期间允许对数据库进行存取或修改n优点n不用等待正在运行的用户事务结束n不会影响新事务的运行n动态转储的缺点n不能保证副本中的数据正确有效数据库技术与应用 41动态转储动态转储n利用动态转储得到的副本进行故障恢复n需要把动态转储期间各事务对数据库的修改活动登记下来,建立日志文件n后备副本加上日志文件才能把数据库恢复到某一时刻的正确状态数据库技术与应用 42利用动态转储副本进行恢复利用动态转

    15、储副本进行恢复 运行事务运行事务 故障发生点故障发生点 动态动态转储转储 运行事务运行事务 正常运行正常运行 Ta Ta Tb Tb Tf Tf重装后备副本重装后备副本 利用日志文件恢复利用日志文件恢复恢复恢复 数据库技术与应用 43利用动态转储副本进行恢复利用动态转储副本进行恢复 Ta Ta Tb Tb Tf Tf 动态动态转储转储 运行事务运行事务 故障发生点故障发生点正常运行正常运行 登记日志文件登记日志文件 登记新日志文件登记新日志文件 转储日志文件转储日志文件 重装后备副本,然后利用转储的日志文件恢复重装后备副本,然后利用转储的日志文件恢复恢复到一恢复到一 致性状态致性状态数据库技术

    16、与应用 442海量转储与增量转储海量转储与增量转储n海量转储: 每次转储全部数据库n增量转储: 只转储上次转储后更新过的数据n海量转储与增量转储比较n从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便n但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效数据库技术与应用 453转储方法小结转储方法小结n转储方法分类转储状态转储状态动态转储动态转储静态转储静态转储转储转储方式方式海量转储海量转储动态海量转储动态海量转储静态海量转储静态海量转储增量转储增量转储动态增量转储动态增量转储静态增量转储静态增量转储数据库技术与应用 46转储策略转储策略n应定期进行数据转储,制作后备副本

    17、。n但转储又是十分耗费时间和资源的,不能频繁进行。nDBA应该根据数据库使用情况确定适当的转储周期和转储方法。 例:n每天晚上进行动态增量转储n每周进行一次动态海量转储n每月进行一次静态海量转储数据库技术与应用 4710.4 恢复的实现技术恢复的实现技术10.4.1 数据转储10.4.2 登记日志文件数据库技术与应用 48数据库系统概论数据库系统概论An Introduction to Database System第十一章第十一章 并发控制并发控制数据库技术与应用 49第十一章第十一章 并发控制并发控制11.1 并发控制概述11.2 封锁11.3 封锁协议11.4 活锁和死锁11.5 并发调

    18、度的可串行性11.6 两段锁协议11.7 封锁的粒度11.8 Oracle的并发控制11.9 小结数据库技术与应用 50 并发控制概述并发控制概述多事务执行方式 (1)事务串行执行n每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行n不能充分利用系统资源,发挥数据库共享资源的特点数据库技术与应用 51并发控制(续)并发控制(续)(2)交叉并发方式(interleaved concurrency)n事务的并行执行是这些并行事务的并行操作轮流交叉运行n是单处理机系统中的并发方式,能够减少处理机的空闲时间,提高系统的效率数据库技术与应用 52并发控制(续)并发控制(续)(3)同时并发

    19、方式(simultaneous concurrency)n多处理机系统中,每个处理机可以运行一个事务,多个处理机可以同时运行多个事务,实现多个事务真正的并行运行n最理想的并发方式,但受制于硬件环境n更复杂的并发方式机制数据库技术与应用 53事务并发执行带来的问题事务并发执行带来的问题n可能会存取和存储不正确的数据,破坏事务的隔离性和数据库的一致性nDBMS必须提供并发控制机制n并发控制机制是衡量一个DBMS性能的重要标志之一数据库技术与应用 548.1 8.1 并发控制概述并发控制概述n并发控制机制的任务n对并发操作进行正确调度n保证事务的隔离性n保证数据库的一致性数据库技术与应用 55T1的

    20、修改被的修改被T2覆盖了!覆盖了!读A=16AA-3写回A=13 读A=16 AA-1 写回A=15事务 T2事务 T1数据不一致实例:飞机订票系统数据不一致实例:飞机订票系统数据库技术与应用 56并发操作带来的数据不一致性并发操作带来的数据不一致性n丢失修改(lost update)n不可重复读(non-repeatable read)n读“脏”数据(dirty read)数据库技术与应用 571. 丢失修改丢失修改丢失修改是指事务1与事务2从数据库中读入同一数据并修改事务2的提交结果破坏了事务1提交的结果,导致事务1的修改被丢失。数据库技术与应用 58图图11.1 三种数据不一致性三种数据

    21、不一致性 T1T2 读A=16 AA-1 写回A=15读A=16AA-3写回A=13(a) 丢失修改丢失修改数据库技术与应用 592. 不可重复读不可重复读不可重复读是指事务1读取数据后,事务2执行更新操作,使事务1无法再现前一次读取结果。数据库技术与应用 60图图11.1 三种数据不一致性三种数据不一致性(续续) 读B=100 BB*2写回B=200 读A=50 读B=100 求和=150 读A=50 读B=200 求和=250 (验算不对) T2T1(b) 不可重复读不可重复读数据库技术与应用 61三类三类不可重复读不可重复读事务1读取某一数据后:1。事务2对其做了修改,当事务1再次读该数

    22、据时,得到与前一次不同的值。2. 事务2删除了其中部分记录,当事务1再次读取数据时,发现某些记录神密地消失了。3. 事务2插入了一些记录,当事务1再次按相同条件读取数据时,发现多了一些记录。后两种不可重复读有时也称为幻影现象(phantom row)数据库技术与应用 623. 读读“脏脏”数据数据事务1修改某一数据,并将其写回磁盘事务2读取同一数据后事务1由于某种原因被撤消,这时事务1已修改过的数据恢复原值事务2读到的数据就与数据库中的数据不一致,是不正确的数据,又称为“脏”数据。数据库技术与应用 63图图11.1 三种数据不一致性三种数据不一致性(续续)读C=200 读C=100 CC*2

    23、写回C ROLLBACK C恢复为100T2T1(c) 读读“脏脏”数据数据数据库技术与应用 64第十一章第十一章 并发控制并发控制11.1 并发控制概述11.2 封锁11.3 封锁协议11.4 活锁和死锁11.5 并发调度的可串行性11.6 两段锁协议11.7 封锁的粒度11.8 Oracle的并发控制11.9 小结数据库技术与应用 6511.2 封锁封锁一、什么是封锁二、基本封锁类型三、基本锁的相容矩阵数据库技术与应用 66一、什么是封锁一、什么是封锁n封锁就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁n加锁后事务T就对该数据对象有了一定的控制,在事务T释

    24、放它的锁之前,其它的事务不能更新此数据对象。n封锁是实现并发控制的一个非常重要的技术数据库技术与应用 6711.2 封锁封锁一、什么是封锁二、基本封锁类型三、基本锁的相容矩阵数据库技术与应用 68二、基本封锁类型二、基本封锁类型nDBMS通常提供了多种类型的封锁。一个事务对某个数据对象加锁后究竟拥有什么样的控制是由封锁的类型决定的。n基本封锁类型n排它锁(eXclusive lock,简记为X锁)n共享锁(Share lock,简记为S锁)数据库技术与应用 69排它锁排它锁n排它锁又称为写锁n若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释

    25、放A上的锁数据库技术与应用 70共享锁共享锁n共享锁又称为读锁n若事务T对数据对象A加上S锁,则其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁数据库技术与应用 7111.2 封锁封锁一、什么是封锁二、基本封锁类型三、基本锁的相容矩阵数据库技术与应用 72三、锁的相容矩阵三、锁的相容矩阵Y=Yes,相容的请求,相容的请求N=No,不相容的请求,不相容的请求 T1 T2XS-XNNYSNYY-YYY数据库技术与应用 73第十一章第十一章 并发控制并发控制11.1 并发控制概述11.2 封锁11.3 封锁协议11.4 活锁和死锁11.5 并发调度的可串行性11.6 两段锁协议11.7

    26、封锁的粒度11.8 Oracle的并发控制11.9 小结数据库技术与应用 7411.3 封锁协议封锁协议n在运用X锁和S锁对数据对象加锁时,需要约定一些规则:封锁协议(Locking Protocol) n何时申请X锁或S锁n持锁时间、何时释放n 不同的封锁协议,在不同的程度上为并发操 作的正确调度提供一定的保证n常用的封锁协议:三级封锁协议数据库技术与应用 751级封锁协议级封锁协议n事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放n正常结束(COMMIT)n非正常结束(ROLLBACK)n1级封锁协议可防止丢失修改n在1级封锁协议中,如果是读数据,不需要加锁的,所以它不能保证可重

    27、复读和不读“脏”数据。数据库技术与应用 76 2级封锁协议级封锁协议n1级封锁协议+事务T在读取数据R前必须先加S锁,读完后即可释放S锁n2级封锁协议可以防止丢失修改和读“脏”数据。n在2级封锁协议中,由于读完数据后即可释放S锁,所以它不能保证可重复读。数据库技术与应用 77 3级封锁协议级封锁协议n1级封锁协议 + 事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放n3级封锁协议可防止丢失修改、读脏数据和不可重复读。数据库技术与应用 784封锁协议小结封锁协议小结n三级协议的主要区别n什么操作需要申请封锁n何时释放锁(即持锁时间)数据库技术与应用 79封锁协议小结封锁协议小结(续续)

    28、数据库技术与应用 80第十一章第十一章 并发控制并发控制11.1 并发控制概述11.2 封锁11.3 封锁协议11.4 活锁和死锁11.5 并发调度的可串行性11.6 两段锁协议11.7 封锁的粒度11.8 Oracle的并发控制11.9 小结数据库技术与应用 8111.4 活锁和死锁活锁和死锁n封锁技术可以有效地解决并行操作的一致性问题,但也带来一些新的问题n死锁数据库技术与应用 82采用先来先服务的策略:当多个事务请求封锁同一数据对象时n按请求封锁的先后次序对这些事务排队n该数据对象上的锁一旦释放,首先批准申请队列中第一个事务获得锁。11.4.1 活锁,如何避免活锁,如何避免数据库技术与应

    29、用 8311.4.2 死锁死锁T1 T2 Xlock R1.Xlock R2等待等待等待等待等待等待.Xlock R2.Xlock R1等待等待等待等待.数据库技术与应用 84解决死锁的方法解决死锁的方法两类方法1. 预防死锁2. 死锁的诊断与解除数据库技术与应用 851. 死锁的预防死锁的预防n产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求对已为其他事务封锁的数据对象加锁,从而出现死等待。n预防死锁的发生就是要破坏产生死锁的条件数据库技术与应用 86死锁的预防死锁的预防(续)(续)预防死锁的方法n 一次封锁法n 顺序封锁法数据库技术与应用 87(1)一次封锁法)一次封锁法

    30、n要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行n一次封锁法存在的问题:降低并发度n 扩大封锁范围n将以后要用到的全部数据加锁,势必扩大了封锁的范围,从而降低了系统的并发度数据库技术与应用 88一次封锁法(续)一次封锁法(续)n难于事先精确确定封锁对象n数据库中数据是不断变化的,原来不要求封锁的数据,在执行过程中可能会变成封锁对象,所以很难事先精确地确定每个事务所要封锁的数据对象n解决方法:将事务在执行过程中可能要封锁的数据对象全部加锁,这就进一步降低了并发度。数据库技术与应用 89(2)顺序封锁法)顺序封锁法n顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个顺

    31、序实行封锁。n顺序封锁法存在的问题n 维护成本高n数据库系统中可封锁的数据对象极其众多,并且随数据的插入、删除等操作而不断地变化,要维护这样极多而且变化的资源的封锁顺序非常困难,成本很高数据库技术与应用 90顺序封锁法(续)顺序封锁法(续)n难于实现n事务的封锁请求可以随着事务的执行而动态地决定,很难事先确定每一个事务要封锁哪些对象,因此也就很难按规定的顺序去施加封锁。 例:规定数据对象的封锁顺序为A,B,C,D,E。事务T3起初要求封锁数据对象B,C,E,但当它封锁了B,C后,才发现还需要封锁A,这样就破坏了封锁顺序.数据库技术与应用 91死锁的预防(续)死锁的预防(续)n结论n在操作系统中

    32、广为采用的预防死锁的策略并不很适合数据库的特点nDBMS在解决死锁的问题上更普遍采用的是诊断并解除死锁的方法数据库技术与应用 922. 死锁的诊断与解除死锁的诊断与解除n允许死锁发生n解除死锁n由DBMS的并发控制子系统定期检测系统中是否存在死锁n一旦检测到死锁,就要设法解除数据库技术与应用 93检测死锁:检测死锁:超时法超时法n如果一个事务的等待时间超过了规定的时限,就认为发生了死锁n优点:实现简单n缺点n有可能误判死锁n时限若设置得太长,死锁发生后不能及时发现数据库技术与应用 94死锁的诊断与解除(续)死锁的诊断与解除(续)n解除死锁n选择一个处理死锁代价最小的事务,将其撤消,释放此事务持

    33、有的所有的锁,使其它事务能继续运行下去。数据库技术与应用 95数据库系统概论数据库系统概论An Introduction to Database System第四章第四章 数据库安全性数据库安全性http:/ 96第四章第四章 数据库安全性数据库安全性n 问题的提出n数据库的一大特点是数据可以共享n但数据共享必然带来数据库的安全性问题n数据库系统中的数据共享不能是无条件的共享例:军事秘密、 国家机密、 新产品实验数据、 市场需求分析、市场营销策略、销售计划、 客户档案、 医疗档案、 银行储蓄数据数据库技术与应用 97数据库安全性(续)数据库安全性(续)n数据库中数据的共享是在DBMS统一的严格

    34、的控制之下的共享,即只允许有合法使用权限的用户访问允许他存取的数据n数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一数据库技术与应用 98数据库安全性(续)数据库安全性(续)n什么是数据库的安全性n数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。n什么是数据的保密n数据保密是指用户合法地访问到机密数据后能否对这些数据保密。n通过制订法律道德准则和政策法规来保证。数据库技术与应用 99第四章第四章 数据库安全性数据库安全性4.1 计算机安全性概论4.2 数据库安全性控制4.3 统计数据库安全性4.4 Oracle数据库的安全性措施4.5 小结数据库技

    35、术与应用 1004.1 计算机安全性概论计算机安全性概论4.1.1 计算机系统的三类安全性问题 4.1.2 可信计算机系统评测标准数据库技术与应用 1014.1.1 计算机系统的三类安全性问题计算机系统的三类安全性问题 n什么是计算机系统安全性n为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。数据库技术与应用 102计算机系统的三类安全性问题(续)计算机系统的三类安全性问题(续) n三类计算机系统安全性问题n技术安全类n管理安全类n政策法律类数据库技术与应用 103计算机系统的三类安全性问题(续)计算

    36、机系统的三类安全性问题(续) n技术安全n指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄露。数据库技术与应用 104计算机系统的三类安全性问题(续)计算机系统的三类安全性问题(续) n管理安全n软硬件意外故障、场地的意外事故、管理不善导致的计算机设备和数据介质的物理破坏、丢失等安全问题数据库技术与应用 105计算机系统的三类安全性问题(续)计算机系统的三类安全性问题(续) n政策法律类n政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令数据库

    37、技术与应用 106第四章第四章 数据库安全性数据库安全性4.1 计算机安全性概论4.2 数据库安全性控制4.3 统计数据库安全性4.4 Oracle数据库的安全性措施4.5 小结数据库技术与应用 107数据库安全性控制概述(续)数据库安全性控制概述(续)n数据库安全性控制的常用方法n用户标识和鉴定n存取控制n视图n审计n密码存储数据库技术与应用 1084.2 数据库安全性控制数据库安全性控制4.2.1 数据库安全性控制概述4.2.2 用户标识与鉴别4.2.3 存取控制4.2.4 自主存取控制方法4.2.5 强制存取控制方法4.2.6 视图机制4.2.7 审计4.2.8 数据加密数据库技术与应用

    38、 1094.2.2 用户标识与鉴别用户标识与鉴别n用户标识与鉴别(Identification & Authentication)n系统提供的最外层安全保护措施数据库技术与应用 1104.2.2 用户标识与鉴别用户标识与鉴别基本方法n系统提供一定的方式让用户标识自己的名字或身份;n系统内部记录着所有合法用户的标识;n每次用户要求进入系统时,由系统核对用户提供的身份标识;n通过鉴定后才提供机器使用权。n用户标识和鉴定可以重复多次数据库技术与应用 1114.2 数据库安全性控制数据库安全性控制4.2.1 数据库安全性控制概述4.2.2 用户标识与鉴别4.2.3 存取控制4.2.4 自主存取控制方法

    39、4.2.5 强制存取控制方法4.2.6 视图机制4.2.7 审计4.2.8 数据加密数据库技术与应用 1124.2.3 存取控制存取控制n存取控制机制的功能n存取控制机制的组成n 定义存取权限n 检查存取权限用户权限定义和合法权检查机制一起组成了DBMS的安全子系统数据库技术与应用 113存取控制(续)存取控制(续)n定义存取权限n在数据库系统中,为了保证用户只能访问他有权存取的数据,必须预先对每个用户定义存取权限。n检查存取权限n对于通过鉴定获得上机权的用户(即合法用户),系统根据他的存取权限定义对他的各种操作请求进行控制,确保他只执行合法操作。数据库技术与应用 1144.2 数据库安全性控

    40、制数据库安全性控制4.2.1 数据库安全性控制概述4.2.2 用户标识与鉴别4.2.3 存取控制4.2.4 自主存取控制方法4.2.5 强制存取控制方法4.2.6 视图机制4.2.7 审计4.2.8 数据加密数据库技术与应用 1154.2.4 自主存取控制方法自主存取控制方法n定义存取权限n存取权限n 存取权限由两个要素组成n数据对象n操作类型数据库技术与应用 116自主存取控制方法(续)自主存取控制方法(续)n关系系统中的存取权限n类型数据对象操作类型模 式 模 式建立、修改、删除、检索外模式 建立、修改、删除、检索 内模式建立、删除、检索数 据 表查找、插入、修改、删除属性列查找、插入、修

    41、改、删除数据库技术与应用 1174.2 数据库安全性控制数据库安全性控制4.2.1 数据库安全性控制概述4.2.2 用户标识与鉴别4.2.3 存取控制4.2.4 自主存取控制方法4.2.5 强制存取控制方法4.2.6 视图机制4.2.7 审计4.2.8 数据加密数据库技术与应用 1184.2.5 强制存取控制方法强制存取控制方法n什么是强制存取控制n强制存取控制(MAC)是指系统为保证更高程度的安全性,按照TDI/TCSEC标准中安全策略的要求,所采取的强制存取检查手段。nMAC不是用户能直接感知或进行控制的。nMAC适用于对数据有严格而固定密级分类的部门n 军事部门n 政府部门数据库技术与应

    42、用 1194.2 数据库安全性控制数据库安全性控制4.2.1 数据库安全性控制概述4.2.2 用户标识与鉴别4.2.3 存取控制4.2.4 自主存取控制方法4.2.5 强制存取控制方法4.2.6 视图机制4.2.7 审计4.2.8 数据加密数据库技术与应用 1204.2.6 视图机制视图机制n视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,n 视图机制更主要的功能在于提供数据独立性,其安全保护功能太不精细,往往远不能达到应用系统的要求。数据库技术与应用 121视图机制(续)视图机制(续)n视图机制与授权机制配合使用:n首先用视图机制屏蔽掉一部分保密数据n视图上面再进一步定义存取权限n间

    43、接实现了支持存取谓词的用户权限定义数据库技术与应用 1224.2 数据库安全性控制数据库安全性控制4.2.1 数据库安全性控制概述4.2.2 用户标识与鉴别4.2.3 存取控制4.2.4 自主存取控制方法4.2.5 强制存取控制方法4.2.6 视图机制4.2.7 审计4.2.8 数据加密数据库技术与应用 1234.2.7 审计审计n什么是审计n启用一个专用的审计日志(Audit Log) 将用户对数据库的所有操作记录在上面nDBA可以利用审计日志中的追踪信息 找出非法存取数据的人nC2以上安全级别的DBMS必须具有审计功能数据库技术与应用 1244.2 数据库安全性控制数据库安全性控制4.2.

    44、1 数据库安全性控制概述4.2.2 用户标识与鉴别4.2.3 存取控制4.2.4 自主存取控制方法4.2.5 强制存取控制方法4.2.6 视图机制4.2.7 审计4.2.8 数据加密数据库技术与应用 1254.2.8 数据加密数据加密n数据加密n防止数据库中数据在存储和传输中失密的有效手段n加密的基本思想n根据一定的算法将原始数据(术语为明文,Plain text)变换为不可直接识别的格式(术语为密文,Cipher text)n不知道解密算法的人无法获知数据的内容数据库技术与应用 126数据加密(续)数据加密(续)n加密方法n 替换方法n使用密钥(Encryption Key)将明文中的每一个

    45、字符转换为密文中的一个字符n置换方法n将明文的字符按不同的顺序重新排列n混合方法 美国1977年制定的官方加密标准:数据加密标准(Data Encryption Standard,简称DES)数据库技术与应用 127数据加密(续)数据加密(续)nDBMS中的数据加密n有些数据库产品提供了数据加密例行程序n有些数据库产品本身未提供加密程序,但提供了接口数据库技术与应用 128第五章第五章 数据库安全性数据库安全性5.1 数据库完整性5.2 完整性控制数据库技术与应用 129完整性约束条件完整性约束条件数据库的完整性指数据的正确性和相容性,完整性约束条件的作用对象可以是:n关系:若干元组间、关系集

    46、合上以及关系之间的联系的约束n元组:元组中各字段间联系的约束n列 :列类型、取值范围、精度和排序等数据库技术与应用 130静态约束、动态约束静态约束、动态约束n静态约束:数据库每一确定状态时的数据对象应满足的约束条件,它是反映数据库状态合理性的约束n动态约束:数据库从一种状态转变为另一种状态时,新、旧值之间所应满足的约束条件,它反映数据库状态变迁的约束。数据库技术与应用 131各种约束举例各种约束举例n静态列级约束:成绩取值范围0100n静态元组约束:订货关系中包含订货量和发货量,发货量不能够大于订货量n静态关系约束:实体完整性、参照完整性n动态列级约束:学生年龄只能增长n动态元组约束:工资调整时新工资等于原工资工龄1.5n动态关系约束:加在关系变化前后状态上的限制条件,如事务一致性、原子性数据库技术与应用 1325.2 完整性控制完整性控制DBMS完整性控制的三方面功能:n定义功能:定义完整性约束的机制n检查功能:检查用户的操作请求是否违背完整性约束n当发现操作请求违背完整性约束时,采取一定措施来保证完整性约束

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:华科数据库课件.ppt
    链接地址:https://www.163wenku.com/p-2810500.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库