数据库恢复技术课件
- 格式:ppt
- 大小:14.29 MB
- 文档页数:9


数据库恢复技术
---恢复内容开始---数据库恢复技术事务:是⽤户定义的⼀个数据库操作序列,这些操作要么全做,要么全不做,是⼀个不可分割的⼯作单位。事物的 ACID 特性:原⼦性、⼀致性、隔离性、持续性。恢复的实现技术:建⽴冗余数据 -> 利⽤冗余数据实施数据库恢复。建⽴冗余数据常⽤技术:数据转储(动态海量转储、动态增量转储、静态海量转储、静态增量转储)、登记⽇志⽂件。
ACID特性
1. 原⼦性(Atomicity)
⼀个原⼦事务要么完整执⾏,要么⼲脆不执⾏。这意味着,⼯作单元中的每项任务都必须正确执⾏。如果有任⼀任务执⾏失败,则整个⼯作单元或事务就会被终⽌。即此前对数据所作的任何修改都将被撤销。如果所有任务都被成功执⾏,事务就会被提交,即对数据所作的修改将会是永久性的。2. ⼀致性(Consistency)
⼀致性代表了底层数据存储的完整性。它必须由事务系统和应⽤开发⼈员共同来保证。事务系统通过保证事务的原⼦性,隔离性和持久性来满⾜这⼀要求; 应⽤开发⼈员则需要保证数据库有适当的约束(主键,引⽤完整性等),并且⼯作单元中所实现的业务逻辑不会导致数据的不⼀致(即,数据预期所表达的现实业务情况不相⼀致)。例如,在⼀次转账过程中,从某⼀账户中扣除的⾦额必须与另⼀账户中存⼊的⾦额相等。3. 隔离性(Isolation)
隔离性意味着事务必须在不⼲扰其他进程或事务的前提下独⽴执⾏。换⾔之,在事务或⼯作单元执⾏完毕之前,其所访问的数据不能受系统其他部分的影响。
当我们编写了⼀条 update 语句,提交到数据库的⼀刹那间,有可能别⼈也提交了⼀条 delete 语句到数据库中。也许我们都是对同⼀条记录进⾏操作,可以想象,如果不稍加控制,就会出⼤⿇烦来。我们必须保证数据库操作之间是“隔离”的(线程之间有时也要做到隔离),彼此之间没有任何⼲扰。4. 持久性(Durability)
持久性表⽰在某个事务的执⾏过程中,对数据所作的所有改动都必须在事务成功结束前保存⾄某种物理存储设备。这样可以保证,所作的修改在任何系统瘫痪时不⾄于丢失。当我们执⾏⼀条 insert 语句后,数据库必须要保证有⼀条数据永久地存放在磁盘中。
基于日志的数据库恢复
数据库系统中的非灾难性故障所导致的数据不一致问题,常用的解决方法是基于日志的恢复技术。查阅资料,研究探讨此类恢复技术的基本方法及其实现算法。
事务日志及在数据库恢复中的作用
一、事务日志的工作原理
实际上,事务中的数据操作首先在数据库缓冲区中进行,缓冲区中有用来记录操作活动的数据页和日志页。当事务运行到Commit Transaction时,日志页从缓冲区写入磁盘,而后数据页再从缓冲区写入磁盘,即遵循“先写日志”的原则。如果先写了日志而没有来得及修改实际数据,则在下一次的正常启动或恢复过程中,DBMS检查日志里的记录,将数据的更新补录到数据库中。因此遵循“先写日志”的原则,可以严格地保持事务日志和实际数据更新的一致性。事务的所有日志记录都链接在一起,当系统出现故障时,通过恢复(前滚)或撤消(回滚)事务能够最大限度地恢复数据库。
二、基于事务日志的数据库恢复思路
假如某数据库系统在T1时刻做了一次完整的备份,由于某种原因在T2时刻(T2>T1)出现了故障,丢失了重要的数据。一般的数据恢复思路是利用T1时刻的数据备份将数据库恢复到T1时刻的状态,T1至T2时间段更新的数据则丢失,即做到不完全恢复。
实际上如果充分利用T1至T2 时间段的事务日志,我们完全可以将数据库恢复到T2时刻的状态,即完全的数据库恢复。因为T1至T2时间段的事务日志是按照时间顺序详细记录了这一时间段的事务处理信息,如图所示。
如果我们在T1状态的基础上,重新依次运行这些事务,就可以将数据库由T1状态逐步推演到T2时刻的状态,实现数据库的完整恢复。此外,还可以根据需要在T1与T2之间某个时间点停留,即把数据库恢复到过去某个特定的时间点。
基于事务日志的数据库恢复技术
一、利用事务日志进行数据库恢复的操作步骤
当数据库出现故障时,恢复到当前故障点应按下面的次序进行操作:
①备份当前活动事务日志;
②还原星期一晚上 22:00 创建的数据库完全备份; ③依次还原自星期一晚上 22:00 后创建的差异数据库备份,直至星期二 9:00 的差异备份为止;
浅谈数据库恢复技术
摘要 数据库恢复是数据库应用技术中非常重要的内容。本文从事务特性、数据库故障的种类及恢复方法、数据库恢复的实现技术这3方面对数据库的恢复技术进行了论述。
关键词 数据库;恢复技术;故障
当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的。但在对数据库应用的过程中,由于人为误操作、人为恶意破坏、系统的不稳定、存储介质的损坏等等原因而影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库使数据库中部分或全部数据丢失,这将带来严重后果。因此,当发生上述情况后,人们希望能重新建立一个完整的数据库,该处理过程称为数据库恢复。
1 事务特性
事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
事务有4个特性。原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做;一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态;隔离性:一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对其他并发事务是隔离的,同时并发执行的各个事务之间不能互相干扰;持续性:一个一个事务一旦提交,它对数据库中数据的改变就应该是永久性的,接下来的其他操作或故障不应该对其执行结果有任何影响。
事务是数据库恢复和并发控制的基本单位。
2 数据库故障的种类及相应的恢复方法
2.1 事务故障
事务故障是指某个事务在运行过程中由于种种原因未运行至正常终止,而此时数据库可能处于不一致状态。发生事务故障时,该事务可能已把对数据库的部分修改写回磁盘。
恢复方法:撤消事务(UNDO)。强行回滚(ROLLBACK)该事务;清除该事务对数据库的所有修改,使得这个事务象根本没有启动过一样。
2.2 系统故障
系统故障是指造成系统停止运转的任何事件,使得系统要重新启动。系统故障通常使所有正在运行的事务都非正常终止、内存中数据库缓冲区的信息全部丢失。
数据库恢复技术的探讨 控*.太原铁道科技 数据库恢复技术的探讨 段婷:太原铁路局计量所 摘要:恢复机制是数据库系统必不可少的组成部分,它负责将数 据库恢复到故障发生前的某个一致的状态。论述数据库故障恢复 的基本思想,对数据库的恢复实现技术进行探讨。 关键词:数据库;故障;恢复;存储器 0引言 随着网络的发展和分布式数据库的El益广泛应 用,有关分布式数据库和并行数据库的备份恢复策略 也成为研究热点。计算机系统与其他任何设备一样容 易发生故障。造成故障的原因多种多样,包括磁盘崩 溃、电源故障、软件错误、机房失火,甚至人为破坏。这 些情况一旦发生,就可能会丢失信息,产生数据库故 障。 在数据库管理系统中,事务是一个十分重要的概 念。从数据库用户的观点来看,事务是构成单一逻辑 工作单元的一个程序执行单元。从数据库管理系统内 部来看,事务是一个操作序列,它是一个不可分割的 工作单位。为了保证数据库完整性(一致性),数据库 必须保证以下所列的事务特性:①原子性。事务的所 有操作在数据库中要么全部正确反映,要么全部不反 映。②一致l生。事务的隔离执行要保证数据库的一致 性。③隔离性。尽管多个事务可以并发执行,但系统必 须保证并发执行的各个事务之间不能相互干扰。④持 久性。一个事务成功完成后,它对数据库的改变必须 是永久的,即使系统出现故障时也必须做到这一点。 保证原子性和持久性是数据库事务系统中日志和恢 复管理部件的责任。 因此,数据库必须预先采取措施,保证即使发生 故障也可以保持事务的原子J生和持久性。数据库的恢 复机制就是负责将数据库恢复到故障发生前的某一 个一致状态,并将崩溃后的数据库不能使用的时间减 少到最小。 1数据库系统故障分类 (1)事务故障。某个事务在运行过程中由于种种 原因未能运行到正常终止而夭折。 (2)系统故障。由于某种原因造成整个系统的正 常运行突然停止,致使所有正在运行的事务都以非正 常方式终止。 (3)介质故障(磁盘故障),又称磁盘故障,是指存 储数据库的存储设备故障。这类故障比前两类故障发 生的可能小,但破坏性更大。 (4)其他故障。例如,计算机病毒和恶意攻击也可 能导致数据库中的全部或部分数据破坏。 2恢复的基本思想 数据库恢复的基本思想:在系统正常运行时建立 冗余数据,保证有足够的信息可用于故障恢复;故障 发生后采取措施,将数据库内容恢复到某个一致性状 态,保证事务原子性和持久性。