最新十章数据库恢复技术幻灯片.ppt
《最新十章数据库恢复技术幻灯片.ppt》由会员分享,可在线阅读,更多相关《最新十章数据库恢复技术幻灯片.ppt(85页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、v 保证数据的一致性是对数据库的最基本的要求,事务是数据库的逻辑工作单元,只要保证了事务的ACID特性,也就保证了数据库处于一致性状态;v 本书第十章、第十一章讨论事务的处理技术;事务处理技术主事务处理技术主要包括数据库恢复技术和并发控制技术。要包括数据库恢复技术和并发控制技术。数据库恢复机制和并发控制机制是数据库管理系统的重要组成部分;v 本章着重讨论SQL SERVER数据库的备份、恢复策略和实现技术 。1)原子性)原子性v事务是数据库的逻辑工作单位 事务中包括的诸操作要么都做,要么都不做2) 一致性一致性v事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态 一致性状态一致性
2、状态:数据库中只包含成功事务提交的结果 不一致状态不一致状态:数据库中包含失败事务的结果银行转帐:从帐号银行转帐:从帐号A中取出一万元,存入帐号中取出一万元,存入帐号B。 定义一个事务,该事务包括两个操作 这两个操作要么全做,要么全不做 全做或者全不做,数据库都处于一致性状态。 如果只做一个操作,数据库就处于不一致性状态。 B=B+1 A=A-1BA原子性、一致性示例:原子性、一致性示例:3)隔离性)隔离性v一个事务的执行不能被其他事务干扰 一个事务内部的操作及使用的数据对其他并发事务是隔离的 并发执行的各个事务之间不能互相干扰4)持续性)持续性v持续性也称永久性(Permanence) 一个
3、事务一旦提交,它对数据库中数据的改变就应该是永久性的。 接下来的其他操作或故障不应该对其执行结果有任何影响。v保证事务ACID特性是事务处理的任务v破坏事务ACID特性的因素: 多个事务并行运行时,不同事务的操作交叉执行 事务在运行过程中被强行停止二、备份和恢复概述二、备份和恢复概述v 尽管SQL SERVER 系统采取了多种措施来保证数据库的安全性和完整性,但硬件故障、软件错误、病毒、误操作或故意破硬件故障、软件错误、病毒、误操作或故意破坏坏仍可能发生,这些故障轻则造成运行事务非正常中断,影响数据正确性,重则破坏数据库,使数据库中的数据部分或全部丢失。v 因此,为了避免因系统本身的故障而造成
4、的数据的破坏或丢失,数据库管理系统提供了把数据库从错误状态恢复到某一正确状态的功能,这种功能称为恢复恢复,数据库的恢复是以备份备份为基础的。1. 恢恢 复复v故障是不可避免的 系统故障:计算机软、硬件故障 介质故障:存储设备故障 人为故障:操作员的失误、恶意的破坏等。v数据库的恢复 把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态);数据库中的数据丢失或被破坏可能原因:数据库中的数据丢失或被破坏可能原因:v (1) 计算机硬件故障。计算机硬件故障。由于使用不当或产品质量等原因,计算机硬件可能会出现故障,不能使用。如硬盘损坏会使得存储于其上的数据丢失。v (2) 软件故障软件
5、故障。由于软件设计上的失误或用户使用的不当,软件系统可能会误操作数据引起数据破坏。v (3) 病毒病毒。破坏性病毒会破坏系统软件、硬件和数据。v (4) 误操作误操作。如用户误使用了诸如DELETE、UPDATE等命令而引起数据丢失或被破坏。v (5) 自然灾害自然灾害。如火灾、洪水或地震等,它们会造成极大的破坏,会毁坏计算机系统及其数据。v (6) 盗窃盗窃。一些重要数据可能会遭窃。v数据库恢复就是当数据库出现故障时,将备份的数据库加载到系统,从而使数据库恢复到备份时的正确状态。v恢复技术是衡量系统优劣的重要指标;v系统进行恢复操作时,先执行一些系统安全性的检查,包括检查所要恢复的数据库是否
6、存在、 数据库是否变化以及数据库文件是否兼容等,然后根据所采用的数据库备份类型采取相应的恢复措施。2. 备备 份份v 我们希望永远不进行恢复数据库的操作,但是数据库的备份操作是必须定期进行的;数据库必须适时地进行备份,以防意外事件的发生而造成数据的损失。v 数据库备份需要根据实际情况,制定不同的备份策略,一方面可以保证数据的安全性,另一方面又要避免不必要浪费。v 备份策略:确定备份的内容、确定备份介质、确定备份方式、确定备份频率。1)确定备份的内容)确定备份的内容v 数据库中数据的重要程度决定了数据恢复的必要与重要性,也就决定了数据是否需要备份。数据库需备份的内容可分为系统数据库和用户数据库两
7、部分。v 系统数据库包括master、msdb、model数据库,他们是确保SQL Server 2000系统正常运行的重要依据,因此系统数据库必须被完全备份。v 用户数据库是存储用户数据的存储空间集。备份时要取决于数据重要程度,主要依据实际的应用领域。2)确定备份介质)确定备份介质SQL Server 支持3种类型的备份介质:v 硬盘:本地磁盘或网络中磁盘,是最常用的备份介质,但费用硬盘:本地磁盘或网络中磁盘,是最常用的备份介质,但费用较高;较高;v 磁带:是大容量的备份介质,磁带仅可用于备份本地文件。价格较为便宜,存储容量大,便于保存和携带;v 命名管道(Named Pipe):主要用于第
8、三方备份软件,SQL Server提供给其他软件公司所开发的数据库备份和恢复软件,提供特殊的数据库备份和恢复方法。3)确定备份方式)确定备份方式v数据库备份数据库备份 完整数据库备份完整数据库备份:将整个数据库全部备份下来; 差异数据库备份差异数据库备份:指在一次完整备份数据库后,只备份以后对数据库的修改内容; 事务日志备份事务日志备份:仅备份用户对数据库操作的记载;v文件、文件组备份:文件、文件组备份:仅备份特定的数据库文件或文件组,对于在多个文件中的大型数据库,可以使用这种方法进行备份; 完整、差异、事务日志数据库备份完整、差异、事务日志数据库备份4)备份的频率)备份的频率v确定数据库备份
9、频率是一件很困难的事情;备份太频繁既浪费时间,又浪费设备;备份间隔时间过长,就有可能造成部分数据的损失;v要考虑两个因素:一是存储介质出现故障或其他故障可能导致数据损失而需要恢复被损失数据的工作量的大小;而是数据库的事务数量;v更应该考虑用户自己的系统环境;5)何时备份?)何时备份?对于系统数据库和用户数据库,其备份时机是不同的。v当系统数据库master、msdb、model中任何一个被修改以后,都要将其备份。v当创建数据库或修改、加载数据库时,应备份数据库。6)谁来作备份?)谁来作备份?具有以下角色的成员可以作备份操作:v固定的服务器角色sysadmin(系统管理员);v固定的数据库角色d
10、b_owner(数据库所有者);v固定的数据库角色db_backupoperator(允许进行数据库备份的用户)。说说 明:明:v备份一个数据库所需的时间主要取决于物理设备的速度,如磁盘设备的速度通常比磁带设备快;v通常备份到多个物理设备比备份到一个物理设备要快;v系统的并发活动对数据库的备份有影响,因此在备份数据库时,应减少并发活动,以减少数据库备份所需的时间。三、故障的种类三、故障的种类v事务内部的故障v系统故障v介质故障v计算机病毒1. 事务内部的故障事务内部的故障v 事务内部的故障 有的是可以通过事务程序本身发现的(见转账事务的例子); 有的是非预期的;例:银行转账事务,这个事务把一笔
11、金额从一个账户甲转给另一个账户乙例:银行转账事务,这个事务把一笔金额从一个账户甲转给另一个账户乙BEGIN TRANSACTION /*读账户甲的余额BALANCEBALANCE=BALANCE-AMOUNT;/*AMOUNT 为转账金额IF (BALANCE 0 ) THEN 打印金额不足,不能转账; ROLLBACK;/*撤销刚才的修改,恢复事务 ELSE 读账户乙的余额BALANCE1; BALANCE1=BALANCE1+AMOUNT; 写回BALANCE1; COMMIT; v 这个例子所包括的两个更新操作要么全部完成要么全部不做。否则就会使数据库处于不一致状态,例如只把账户甲的余额
12、减少了而没有把账户乙的余额增加。v 在这段程序中若产生账户甲余额不足的情况,应用程序可以发现并让事务滚回,撤销已作的修改,恢复数据库到正确状态。v事务内部更多的故障是非预期的,是不能由应用程序处理的: 运算溢出 并发事务发生死锁而被选中撤销该事务 违反了某些完整性限制等以后,事务故障仅指这类非预期的故障v事务故障的恢复:撤消事务(UNDO)2. 系统故障系统故障v系统故障:称为软故障,是指造成系统停止运转的任何事件,使得系统要重新启动; 整个系统的正常运行突然被破坏; 所有正在运行的事务都非正常终止; 不破坏数据库; 内存中数据库缓冲区的信息全部丢失;系统故障的常见原因系统故障的常见原因v特定
13、类型的硬件错误(如CPU故障)v操作系统故障vDBMS代码错误v系统断电系统故障的恢复系统故障的恢复v发生系统故障时,事务未提交 恢复策略:强行撤消(恢复策略:强行撤消(UNDO)所有未完成事务)所有未完成事务v发生系统故障时,事务已提交,但缓冲区中的信息尚未完全写回到磁盘上。 恢复策略:重做(恢复策略:重做(REDO)所有已提交的事务)所有已提交的事务3. 介质故障介质故障v介质故障:称为硬故障(Hard Crash),指外存故障; 磁盘损坏 磁头碰撞 操作系统的某种潜在错误 瞬时强磁场干扰v硬件故障使存储在外存中的数据部分丢失或全部丢失;v介质故障比前两类故障的可能性小得多,但破坏性大得多
14、;介质故障的恢复介质故障的恢复v装入数据库发生介质故障前某个时刻的数据副本副本;v重做自此时始的所有成功事务成功事务,将这些事务已提交的结果重新记入数据库;4. 计算机病毒计算机病毒v计算机病毒 一种人为的故障或破坏,是一些恶作剧者研制的一种计算机程序 可以繁殖和传播v危害 破坏、盗窃系统中的数据 破坏系统文件故障小结故障小结各类故障,对数据库的影响有两种可能性:v一是数据库本身被破坏;v二是数据库没有被破坏,但数据可能不正确,这是由于事务的运行被非正常终止造成的。四、数据库备份四、数据库备份v故障会引起数据库数据的丢失或不一致,作为DBA,就要采取措施恢复丢失的数据,而恢复数据最直接最常用的
15、手段就是“备份”(Backup),也就是采取“冗余”方法;vMicrosoft SQL Server 2005 提供了高性能的备份和还原功能。SQL Server 备份和还原组件提供了重要的保护手段,以保护存储在 SQL Server 数据库中的关键数据。v“备份”是数据的副本,用于在系统发生故障后还原和恢复数据。备份使您能够在发生故障后还原数据。通过适当的备份,可以从多种故障中恢复; vSQL数据库备份及文件、文件组备份类型: 完整数据库备份 差异数据库备份 事务日志数据库备份1、创建完整数据库备份、创建完整数据库备份v 完整备份(以前称为数据库备份)将备份整个数据库,包括事务日志部分(以便
16、可以恢复整个备份)。创建完整备份是单一操作,通常会安排该操作定期发生。 v 每个完整备份使用的存储空间比其他差异备份使用的存储空间要大。因此,完成完整备份需要更多的时间,因而创建完整备份的频率通常要比创建差异备份的频率低。 例例1:将数据库:将数据库stu完整备份到本地磁盘完整备份到本地磁盘D,备份文件名称为,备份文件名称为stu ;操作步骤为:v 启动SQL Server Management Studio 对象资源管理器数据库stu ;v 右击stu 任务 备份;v 在“备份数据库窗口”中,选择源数据库源数据库stu ,选择备份类型备份类型“完整完整”,选择备份组件备份组件“数据库数据库”
17、,为备份集起名称“stu”,选择备份目标,备份到“磁盘添加目标路径本地磁盘D”,单击“确定”即可完成对数据库stu的完全备份;(如图所示)输入文件名输入文件名选择位置选择位置2、创建差异数据库备份、创建差异数据库备份v 差异备份:仅记录自上次数据库完整备份后更改过的数据。 比完全备份工作量小而且备份速度快,对正在运行的系统影响也较小,可以简化频繁的备份操作,减少数据丢失的风险;v 在进行差异备份之前,必须进行一次完整数据库备份,所以也称为创建完整差异备份;v 一般来说,可在创建数据库后,或在数据库中已经拥有了大量数据以后,进行一次数据库完整备份,然后再定期进行差异备份;例例2:在数据库:在数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 数据库 恢复 技术 幻灯片
限制150内