制造信息技术DB数据库恢复技术.ppt
《制造信息技术DB数据库恢复技术.ppt》由会员分享,可在线阅读,更多相关《制造信息技术DB数据库恢复技术.ppt(30页珍藏版)》请在三一办公上搜索。
1、现代制造信息技术基础第一部分 数据库系统概论数据库恢复技术,徐 世 新北京航空航天大学机械学院7202002 年 7 月,主要内容,事物的基本概念故障的种类,恢复的实现技术数据转储登记日志文件,恢复策略数据库镜像,事物(Transaction),事物是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。,在SQL中定义事物的的语句有三条:BEGIN TRANSACTIONCOMMITROLLBACK,COMMIT表示提交,即提交事物的所有操作。具体地说就是将事物中所有对数据库的更新写回到磁盘上的物理数据库中去,事物正常结束。ROLLBACK表示回滚,撤消事物已部
2、分完成的操作,即在事物运行的过程中发生了某种故障,事物不能继续执行,系统将事物中对数据库的所有已完成的操作全部撤消,滚回到事物开始时的状态。,原子性。事物是数据库的逻辑工作单位,事物中包括的诸操作要么都做,要么都不做。一致性。事物执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性。一个事物的执行不能被其他事物干扰。即一个事物内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。持续性。一个事物一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他事务或故障不应该对其执行结果有任何影响。,事物的特性,事物具有四个特性:原子性(Atomicit
3、y)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。,事务ACID特性可能遭到破坏的因素有:多个事务并发运行时,不同事物的操作交叉进行;事务在运行过程中被强行停止。,DBMS必须具有把数据库从错误状态恢复到某一已知的正确状态的功能,这就是数据库的恢复。,故障的种类,事物内部的故障。有的可通过事务程序本身发现,有的是非预期的系统故障。指造成系统停止运转的任何事件,使得系统要重新启动介质故障。指外存故障,如磁盘损坏计算机病毒。,恢复的基本原理:冗余。数据库中任何一部分被破坏的或不正确的数据可以根据存储在系统别处的冗余数据来重建,恢复机制涉及的两个关
4、键问题:第一,如何建立冗余数据。建立冗余数据最常用的技术是数据转储和登录日志文件;第二,如何利用这些冗余数据实施数据库恢复,恢复的实现技术,数据转储:DBA定期地将整个数据库复制到另一个磁盘上保存起来的过程。这些备用的数据文本称为后备副本。当数据库遭到破坏后可将后备副本重新装入,但这样只能恢复到转储时的状态,要想恢复到故障发生时的状态,必须重新运行自转储以后的所有更新事物(1)转储可分为静态转储和动态转储(2)转储还可分为海量转储和增量转储两种方式,以记录为单位的日志文件中需要登记的内容包括:各个事物的开始(BEGIN TRANSACTION)标志。各个事物的结束(COMMIT或ROLLBAC
5、K)标志。各个事物的所有更新操作。,日志文件的格式和内容,日志文件是用来记录事物对数据库的更新操作的文件。日志文件主要有两种格式:以记录为单位的日志文件和以数据块为单位的日志文件,对于以数据块为单位的日志文件,日志记录的内容包括事物标识和被更新的数据块,每个事务的开始标志、结束标志和更新操作均作为日志文件中的一个日志记录(Log record)。每个日志记录的内容主要包括:事物标识(标明是哪个事物)操作的类型(插入、删除或修改)操作对象(记录内部标识)更新前数据的旧值(对插入操作而言,此项为空值)更新后数据的新值(对删除操作而言,此项为空值),登记日志文件,为保证数据库是可恢复的,登记日志文件
6、时必须遵循两条原则:登记的次序是严格按并发事务执行的时间次序必须先写日志文件,后写数据库,事务故障恢复和系统故障恢复必须用日志文件在动态转储方式中必须建立日志文件,后备副本和日志文件综合起来才能有效地恢复数据库在静态转储方式中,也可以建立日志文件,把对数据的修改写到DB中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。若先写了DB修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。若先写日志,但没有修改DB,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响DB的正确性,系统故障的恢复系统故障造
7、成数据库不一致的原因有两个,一是未完成事务对数据库的更新可能已写入数据库,二是已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库。因此恢复操作就是要撤销故障发生时未完成的事务,重做已完成的事务。系统故障的恢复是由系统在重新启动时自动完成的。,事务故障的恢复事务故障是指事务在运行至正常终止点前被终止,这时恢复子系统应利用日志文件撤销此事务对数据库的修改。事务故障的恢复是由系统自动完成的。,恢复策略,介质故障的恢复恢复方法是重装数据库的最新后备副本,然后重做已完成的事务。,数据库镜像,根据DBA的要求,自动把整个数据库或其中的关键数据复制到另一个磁盘上。每当主数据库更新时,DBMS自动把更
8、新后的数据复制过去,即DBMS自动保证镜像数据与主数据的一致性。,一旦出现介质故障,可由镜像磁盘继续提供使用,同时DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。在没有出现故障时,数据库镜像还可以用于并发操作。,现代制造信息技术基础第一部分 数据库系统概论并 发 控 制,徐 世 新北京航空航天大学机械学院7202002 年 7 月,主要内容,并发控制概述封锁封锁协议活锁和死锁并发调度的可串行性两段锁协议,封锁的粒度多粒度封锁意向锁,例子 考虑飞机订票系统中的一个活动序列:甲售票点(甲事务)读出某航班的机票余额A,设A=16;乙售票点(乙事务)读出同一航班的机票余额
9、A,也为A=16;甲售票点卖出一张机票,修改余额AA1,所以A为15,把A写回数据库;乙售票点也卖出一张机票,修改余额AA1,所以A为15,把A写回数据库。结果明明卖出两张机票,数据库中机票余额只减少1。这种情况称为数据库的不一致性。,并发控制概述,为了保证数据库的一致性,DBMS需要对并发操作进行正确调度,这就是DBMS中并发控制的责任,并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。,并发控制概述,丢失修改两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失不可重复读事务T1读取数据后,事务T2执行更新操作,使T1无法再现前
10、一次读取结果。具体有三种情况:事务T1读取某一数据后,事务T2对其做了修改,当T1再次读取该数据时,得到与前一次不同的值。事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中部分记录,当T1再次按相同条件读取数据时,发现某些记录神秘地消失了。事务T1按一定条件从数据库中读取了某些数据记录后,事务T2插入了一些记录,当T1再次按相同条件读取数据时,发现多了一些记录读“脏”数据读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 制造 信息技术 DB 数据库 恢复 技术

链接地址:https://www.31ppt.com/p-5933066.html