欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库系统概论(八)课件.ppt

    • 资源ID:72971838       资源大小:419KB        全文页数:52页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库系统概论(八)课件.ppt

    第十章 数据库恢复技术 10.1 事务的基本概念10.2 数据库恢复概述10.3 恢复的实现10.4 恢复策略10.5 具有检查点的恢复技术10.6 数据库镜像10.7 SQL Server 的恢复技术2/13/20231第十章 数据库恢复技术 10.1 事务的基本概念 什么是事务?事务的基本操作与状态 系统赋予事务的特性2/13/20232第十章 数据库恢复技术 10.1.1 什么是事务?典型事务,如银行转帐:帐户A 10000元;帐户B+10000元。Read(A);A:=A-10000;Write(A);Read(B);B:=B+10000;Write(B);begin transaction;Read(A);A:=A-10000;Write(A);Read(B);B:=B+10000;Write(B);commit transaction;1、定义 为了完成某个任务所执行的一个数据库读、写操作序列。2、显式定义方式 BEGIN TRANSACTION SQL 语句1 SQL 语句2 。COMMIT(或 ROLLBACK)3、隐式方式 当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务。2/13/20233第十章 数据库恢复技术 10.1.2 事务的基本操作与状态1)事务开始(begin transaction):开始执行。2)事务读写(read/write):进行数据库操作。3)事务结束(end transaction):完成所有操作。4)事务交付(commit):完成所有操作,并保存所有结果。5)事务撤消(rollback):执行途中出现异常,系统或用户撤消事务。活跃部分交付交付撤消终止事务开始事务结束交付撤消读写操作事务的起点事务的终点2/13/20234第十章 数据库恢复技术 10.1.3 系统赋予事务的特性(ACID)为了保证事务并发、有效、正确地执行,保证数据库的正确性,系统必须赋予事务一些特性。1)原子性原子性(Atomicity):最基本特性事务的所有操作要么全部完成,要么均不执行。原子性在于保证正确性。由DBMS的恢复子系统来保证原子性。2)一致性一致性(Consistency):事务必须将数据库从一种一致状态转换为另一种一致状态。由DBMS和程序开发者共同保证数据库的一致性。3)隔离性隔离性(Isolation):任何事务不能访问到其他未交付事务的中间结果。由DBMS的并发控制子系统来保证事务的隔离性。4)持久性持久性(Durability):保证已交付事务的结果不丢失,且与以后的故障无关。由DBMS的恢复子系统负责确保事务的持久性。2/13/20235第十章 数据库恢复技术 10.2 数据库恢复概述1、引入“恢复”技术的原因 事务故障、系统故障、介质故障计算机病毒2、恢复的基本原理冗余3、恢复的含义所谓数据库的恢复就是利用存储在系统其他地方的冗余数据来修复数据库中被破坏的或不正确的数据,使数据库从错误状态恢复到某一已知的正确状态。(1)数据库本身被破坏(2)数据库没有被破坏,但数据可能不正确2/13/20236第十章 数据库恢复技术 10.3 恢复的实现技术恢复机制涉及的两个关键问题:如何建立冗余数据如何利用冗余数据实施数据库恢复数据转储数据转储登记日志文件登记日志文件不同故障的恢复不同故障的恢复策略有所不同策略有所不同2/13/20237第十章 数据库恢复技术 10.3.1 数据转储1、含义DBA定期地将整个数据库复制到磁带或另一个磁盘上形成后备副本保存起来的过程。2、利用转储方法进行恢复的过程 3、转储状态静态转储动态转储 4、转储方式海量转储增量转储 TaTbTf正常运行正常运行转储转储运行事务运行事务故障发生点故障发生点重装后备副本重装后备副本重新运行事务重新运行事务恢复恢复2/13/20238第十章 数据库恢复技术 10.3.2 登记日志文件 日志文件的格式和内容 日志文件的作用 登记日志文件2/13/20239第十章 数据库恢复技术 一、日志文件的格式和内容什么是日志文件日志文件(log)是用来记录事务对数据库的更新操作的文件。日志文件的格式以记录为单位的日志文件以数据块为单位的日志文件2/13/202310第十章 数据库恢复技术 日志文件的格式和内容(续)以记录为单位的日志文件内容各个事务的开始标记(BEGIN TRANSACTION)各个事务的结束标记(COMMIT或ROLLBACK)各个事务的所有更新操作以上均作为日志文件中的一个日志记录日志记录(log record)每条日志记录的内容事务标识(标明是哪个事务)操作类型(插入、删除或修改)操作对象(记录内部标识)更新前数据的旧值(对插入操作而言,此项为空值)更新后数据的新值(对删除操作而言,此项为空值)2/13/202311第十章 数据库恢复技术 日志文件的格式和内容(续)以数据块为单位的日志文件,每条日志记录的内容事务标识(标明是那个事务)被更新的数据块2/13/202312第十章 数据库恢复技术 二、日志文件的作用 进行事务故障恢复 进行系统故障恢复 协助后备副本进行介质故障恢复2/13/202313第十章 数据库恢复技术 利用静态转储副本和日志文件进行恢复TaTbTf正常运行正常运行转储转储运行事务运行事务故障发生点故障发生点登记日志文件登记日志文件重装后备副本重装后备副本利用日志文件恢复事务利用日志文件恢复事务恢复恢复登记日志文件登记日志文件继续运行继续运行2/13/202314第十章 数据库恢复技术 三、登记日志文件基本原则登记的次序严格按并行事务执行的时间次序必须先写日志文件,后写数据库写日志文件操作:把表示这个修改的日志记录 写到日志文件写数据库操作:把对数据的修改写到数据库中2/13/202315第十章 数据库恢复技术 10.4 恢复策略事务分类基本的恢复操作不同故障的恢复策略2/13/202316第十章 数据库恢复技术 10.4.1 事务分类圆满事务 指日志文件中记录了事务的 commit 标识,说明日志中已经完整地记录下事务所有的更新活动。夭折事务 指日志文件中只有事务的开始标识,而无commit标识,说明对事务更新活动的记录是不完整的,无法根据日志来重现事务。为保证事务的原子性,应该撤销这样的事务。2/13/202317第十章 数据库恢复技术 10.4.2 基本的恢复操作:Redo和UndoRedo和Undo是针对事务的某一次更新操作。Redo是重新执行这次操作。其处理的方法是,正向扫描日志文件,将日志记录中“更新后的值”重新写入数据库。Undo是消除这次操作的影响,将事务执行点回退到这次操作之前。其处理的方法是,反向扫描日志文件,将日志记录中“更新前的值”重新写入数据库。在利用日志文件进行恢复的过程中,对已结束的事务中的更新操作进行Redo,对未结束的事务中的更新操作进行Undo。2/13/202318第十章 数据库恢复技术 10.4.3 不同故障的恢复策略 事务故障的恢复 系统故障的恢复 介质故障的恢复2/13/202319第十章 数据库恢复技术 思考题在SQL语言中,定义事务控制的语句主要有_、_ 和 _。事务具有四个特性:它们是_、_、_ 和 _。这个四个特性也简称为_特性。_和_是数据库恢复的基本技术。如何进行事务故障的恢复?系统故障的恢复?介质故障恢复?2/13/202320第十章 数据库恢复技术 10.5 具有检查点的恢复技术 问题的提出 检查点技术 利用检查点的恢复策略2/13/202321第十章 数据库恢复技术 10.5.1 问题的提出两个问题搜索整个日志将耗费大量的时间REDO处理:重新执行,浪费了大量时间2/13/202322第十章 数据库恢复技术 解决方案具有检查点(checkpoint)的恢复技术在日志文件中增加检查点记录(checkpoint)增加重新开始文件恢复子系统在登录日志文件期间动态地维护日志2/13/202323第十章 数据库恢复技术 10.5.2 检查点技术检查点记录的内容1.建立检查点时刻所有正在执行的事务清单2.这些事务最近一个日志记录的地址重新开始文件的内容记录各个检查点记录在日志文件中的地址2/13/202324第十章 数据库恢复技术 动态维护日志文件的方法动态维护日志文件的方法周期性地执行如下操作:建立检查点,保存数据库状态。具体步骤是:1.将当前日志缓冲区中的所有日志记录写入磁盘的日志文件上2.在日志文件中写入一个检查点记录3.将当前数据缓冲区的所有数据记录写入磁盘的数据库中4.把检查点记录在日志文件中的地址写入一个重新开始文件2/13/202325第十章 数据库恢复技术 建立检查点恢复子系统可以定期或不定期地建立检查点,保存数据库状态 定期按照预定的一个时间间隔,如每隔一小时建立一个检查点 不定期按照某种规则,如日志文件已写满一半建立一个检查点2/13/202326第十章 数据库恢复技术 10.5.3 利用检查点的恢复策略Tc (检查点检查点)Tf (系统故障系统故障)UNDOUNDO REDO REDOT2T3T4T5不要不要REDOT12/13/202327第十章 数据库恢复技术 利用检查点的恢复步骤 1.从重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。2.由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACTIVE-LIST建立两个事务队列UNDO-LIST REDO-LIST 把ACTIVE-LIST暂时放入UNDO-LIST队列,REDO队列暂为空。2/13/202328第十章 数据库恢复技术 利用检查点的恢复策略(续)3.从检查点开始正向扫描日志文件,直到日志文件结束如有新开始的事务Ti,把Ti暂时放入UNDO-LIST队列如有提交的事务Tj,把Tj从UNDO-LIST队列移到REDO-LIST队列4.对UNDO-LIST中的每个事务执行UNDO操作 对REDO-LIST中的每个事务执行REDO操作2/13/202329第十章 数据库恢复技术 10.6 数据库镜像介质故障是对系统影响最为严重的一种故障,严重影响数据库的可用性介质故障恢复比较费时为预防介质故障,DBA必须周期性地转储数据库提高数据库可用性的解决方案数据库镜像(Mirror)2/13/202330第十章 数据库恢复技术 数据库镜像技术什么是数据库镜像 数据库镜像即根据DBA的要求,DBMS自动把整个数据库或其中的关键数据复制到另一个磁盘上,每当主数据库更新时,DBMS自动把更新后的数据复制过去,即DBMS自动保证镜像数据与主数据库的一致性。2/13/202331第十章 数据库恢复技术 数据库镜像(续)2/13/202332第十章 数据库恢复技术 数据库镜像的用途出现介质故障时可由镜像磁盘继续提供使用 同时DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本2/13/202333第十章 数据库恢复技术 数据库镜像存在的问题及解决办法存在的问题频繁地复制数据自然会降低系统运行效率解决办法只选择对关键数据和日志文件镜像,而不是对整个数据库进行镜像2/13/202334第十章 数据库恢复技术 设有四个事务T1、T2、T3、T4,它们的操作定义如下:在系统崩溃之前系统在日志中记录了如下内容:T1T2T3T4read_item(A)read_item(D)write_item(D)read_item(B)write_item(B)read_item(D)write_item(D)read_item(A)write_item(A)read_item(C)write_item(C)read_item(B)write_item(B)read_item(A)write_item(A)begin_transaction,T1read_item,T1,Aread_item,T1,Dwrite_item,T1,D,20commit,T1checkpointbegin_transaction,T2read_item,T2,Bwrite_item,T2,B,12begin_transaction,T4read_item,T4,Bwrite_item,T4,B,15 begin_transaction,T3read_item,T3,Awrite_item,T3,A,30read_item,T4,Awrite_item,T4,A,20commit,T4read_item,T2,Dwrite_item,T2,D,25如果系统采用立即修改的恢复技术和检查点机制,当系统重启后,哪些事务需要回退?哪些操作需要Redo?哪些操作需要Undo?是否会出现事务嵌套回退的情形?2/13/202335第十章 数据库恢复技术 10.7 SQL Server 的恢复技术 10.7.1 备份数据库 10.7.2 还原数据库 10.7.3 备份和还原的策略2/13/202336第十章 数据库恢复技术 10.7.1 备份数据库 SQL Server数据备份的特点 SQL Server数据库备份的类型 创建和管理备份设备 备份数据库 2/13/202337第十章 数据库恢复技术 一、SQL Server数据备份的特点 SQL Server支持在线备份 备份工作由数据库管理员来完成2/13/202338第十章 数据库恢复技术 二、SQL Server数据库备份的类型 全数据库备份 事务日志备份 增量备份(差异备份)文件和文件组备份2/13/202339第十章 数据库恢复技术 三、创建和管理备份设备 备份设备是SQL Server用来存储数据库、事务日志或文件和文件组备份的存储介质。备份设备可以是本地机器上的磁盘文件、远端服务器上的磁盘文件、磁带以及命名管道。创建一个备份设备时,要给它一个逻辑名称和一个物理名称。例如:设备类型 逻辑名称 物理名称 本地磁盘 DB_BACKUP_DISK D:BACKUPS DBBACKUP01.BAK 网络磁盘 TL_BACKUP_SQLBACK SQLBACKBACKUPSTLBACKUP.BAK 磁带 TAPE_BACKUP .TAPE0 命名管道 NP_BACKUP SQLBACKPIPESQLBACKUP2/13/202340第十章 数据库恢复技术 创建备份设备使用企业管理器 使用系统存储过程sp_addumpdevice sp_addumpdevice devtype=device_type,logicalname=logical_name,physicalname=physical_name,cntrltype=controller_type|devstatus=device_status创建备份设备时,返回0表示创建成功,返回1表示创建失败。disk、pipe、tape2/13/202341第十章 数据库恢复技术 示例例1:创建一个磁盘备份设备:EXEC sp_addumpdevice disk,student_full,d:xcmstudent.bak例2:创建一个磁带备份设备:EXEC sp_addumpdevice tape,tapedump1,.tape0 2/13/202342第十章 数据库恢复技术 管理备份设备列出备份设备使用企业管理器 使用sp_helpdevice系统存储过程 删除一个备份设备 使用企业管理器 使用SP_DROPDEVICE系统存储过程 SP_dropdevice logicalname,DELFILE2/13/202343第十章 数据库恢复技术 四、备份数据库 备份的内容master数据库msdb 数据库model数据库distribution数据库所有的用户数据库使用企业管理器来备份数据库 数据库所有任务 备份数据库使用备份语句BACKUP来备份数据库 2/13/202344第十章 数据库恢复技术 使用BACKUP来备份数据库完全备份 BACKUP DATABASE student TO student_full WITH INIT 增量备份(差异备份)BACKUP DATABASE student TO DISK=d:xmstudent_diff.bak WITH NOINIT,DIFFERENTIAL 日志备份 BACKUP LOG student TO student_log WITH NOINIT 文件和文件组备份 BACKUP DATABASE student FILE=stu2 TO student_file 2/13/202345第十章 数据库恢复技术 10.7.2 还原数据库使用企业管理器还原数据库 使用RESTORE命令还原数据库还原整个数据库 还原差异备份还原日志备份还原文件和文件组2/13/202346第十章 数据库恢复技术 使用RESTORE命令还原数据库还原整个数据库 RESTORE DATABASE student FROM student_full 还原差异备份RESTORE DATABASE student FROM student_differ WITH NORECOVERY 还原日志备份RESTORE LOG student FROM student_log WITH RECOVERY 2/13/202347第十章 数据库恢复技术 还原文件和文件组library数据库创建在lib1、lib2和lib3文件上。Lib2备份在lib2bk备份文件上。该数据库的日志备份在liblog备份设备上,现在lib2数据文件坏了,可以通过下述命令将它恢复:RESTORE DATABASE libraryFILE=lib2FROM lib2bkWITH NORECOVERYGORESTORE LOG libraryFROM liblogWITH RECOVERY2/13/202348第十章 数据库恢复技术 10.7.3 备份和还原的策略还原模型还原模型备份类型备份类型 全数据全数据库库数据库差异数据库差异事务日志事务日志文件或文件差异文件或文件差异简单简单必需必需可选可选不允许不允许不允许不允许完全完全必需必需可选可选必需必需可选可选大容量日志记录大容量日志记录必需必需可选可选必需必需可选可选2/13/202349第十章 数据库恢复技术 1.你备份SQL Server数据的理由有哪些?A.崩溃恢复。C.将数据从一种处理器结构转移到另一种。B.数据的历史档案。D.将数据从一个服务器转移到另一个。2.建立备份并且从中恢复的备份设备类型有哪些?A.磁带设备 B.空设备 C.命名管理设备 D.本地磁盘设备3.SQL Server 备份是动态备份,对于一名系统管理员,这意味着什么?A.你不必计划备份工作;SQL Server 会自动地为你完成。B.当用户使用数据库的时候,你可以备份它,只不过性能上有点影响。C.备份和恢复过程会在必要的时候发生,而无需用户干预。D.动态备份是事务日志过程,并且这个过程是不断地运行的。思考题2/13/202350第十章 数据库恢复技术 4.假设你是一个包含着联机事务处理数据库的SQL Server 的管理员。数据库每天24小时运转。将全部数据库备份到磁带大约要花费4个小时;事务日志备份到磁带大约需20分钟。主要目的:建立数据库备份结构,允许1小时的数据损失。次要目的:允许数据库在一定的情况下及时被恢复,允许用户在高峰使用期间以一种有效的方式继续工作。请问,下列哪种建议方案可达到主要目的和次要目的。A.每天执行4次数据库的完全备份。B.非高峰使用的小时内执行数据库的完全备份,每小时进行一次把事务日志备份到磁带的操作。C.非高峰使用的小时内执行数据库的完全备份。每小时进行一次把事务日志备份到磁盘的操作。2/13/202351第十章 数据库恢复技术 5、SQL Server现在有三种方法备份数据库中的数据,分别是【】备份、【】备份和【】备份。6、下列哪项不是你应该定期维护的SQL Server数据库备份?msdb master distribtion Tempdb7、下列哪条命令是对library数据库进行增量备份。BACKUP DATABASE library to Nw1 WITH INIT BACKUP DATABASE library FILE=lib2 TO librarybk BACKUP LOG library TO nwlog WITH NOINIT BACKUP DATABASE library TO DISK=e:xcmnwdiff.bak WITH NOINIT,DIFFERENTIAL 2/13/202352第十章 数据库恢复技术

    注意事项

    本文(数据库系统概论(八)课件.ppt)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开