- 1、本文档共79页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库原理 第19~22讲 数据库保护(恢复、镜像)
小结 如果数据库只包含成功事务提交的结果,就说数据库处于一致性状态。保证数据一致性是对数据库的最基本的要求。 事务是数据库的逻辑工作单位 DBMS保证系统中一切事务的原子性、一致性、隔离性和持续性 小结(续) DBMS必须对事务故障、系统故障和介质故障进行恢复 恢复中最经常使用的技术:数据库转储和登记日志文件 恢复的基本原理:利用存储在后备副本、日志文件和数据库镜像中的冗余数据来重建数据库 小结(续)常用恢复技术 事务故障的恢复 UNDO 系统故障的恢复 UNDO + REDO 介质故障的恢复 重装备份并恢复到一致性状态 + REDO 小结(续)提高恢复效率的技术 检查点技术 可以提高系统故障的恢复效率 可以在一定程度上提高利用动态转储备份进行介质故障恢复的效率 镜像技术 镜像技术可以改善介质故障的恢复效率 5.5 数据库复制与数据库镜像 数据库复制 数据库镜像 5.5.1 数据库复制 复制主要用于分布式结构的数据库中; 在多个场地保留多个数据库备份; 备份可以是整个数据库副本,也可以是部分数据库副本; 需要DBMS的支持 DBMS会采取一定措施保证用户对数据库的修改能够及时地反映到其所有副本上; 数据库复制的作用 使数据库具有容错功能 当数据库出现故障时,系统可以用副本对其进行联机恢复; 在恢复过程中,用户可访问数据库的副本,应用不必中断。 提高数据库并发度 各场地可以并发存取不同的数据库副本,进一步提高了系统的并发度; 对等复制(peer-to peer) 各场地数据库地位平等,可以互相复制数据 可在任何场地读取和更新公共数据集 主/从复制(master/slave) 数据只能从主数据库中复制到从数据库中 更新数据在主场地进行,从场地读取数据 级联复制(cascade) 从主场地复制过来的数据又从该场地复制到其他场地 可以平衡当前各种数据需求对网络交通的压力 数据库复制有三种方式 复制数据库 复制数据库 复制数据库 复制数据库 应用 事务 应用 事务 (a)对等复制 复制数据库 主数据库 复制数据库 复制数据库 应用 事务 (b)主/从复制 复制数据库 主数据库 复制数据库 复制数据库 应用 事务 (c)级联复制 复制数据库 复制数据库 在使用复制技术时应注意的问题 数据库复制必须对用户透明 主数据库和各个复制数据库在任何时候都必须保持事务的完整性 DBMS必须提供控制冲突的方法 包括各种形式的自动解决方法和人工干预方法 5.5.2 数据库镜像 介质故障是对系统影响最为严重的一种故障,严重影响数据库的可用性 介质故障恢复比较费时 为预防介质故障,DBA必须周期性地转储数据库 提高数据库可用性的解决方案 数据库镜像(Mirror) DBMS自动把整个数据库或其中的关键数据复制到另一个磁盘上; DBMS自动保证镜像数据与主数据的一致性; 根据DBA的要求,自动把整个数据库或其中的关键数据复制到另一个磁盘上; 当主数据库更新时,DBMS自动保证镜像数据与主数据的一致性; 当数据库出现故障,可由DBMS自动利用镜像磁盘进行数据库恢复。 DB Mirror App1 App3 App2 App4 Update Copy Read DB Mirror App1 App3 App2 App4 Update Recover Read 数据库镜像的用途 出现介质故障时 DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本 没有出现故障时 可用于并发操作 一个用户对数据加排他锁修改数据 其他用户可以读镜像数据库上的数据 * 复制是使数据库更具容错性的方法 * 复制是使数据库更具容错性的方法 * 复制是使数据库更具容错性的方法 * * 为什么要先写日志文件 写数据库和写日志文件是两个不同的操作 在这两个操作之间可能发生故障 如果先写了数据库修改,而在日志文件中没有登记下这个修改,则以后就无法恢复这个修改了 如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性 5.4.2.3 恢复策略 ① 事务故障的恢复 ② 系统故障的恢复 ③ 介质故障的恢复 ① 事务故障的恢复 事务故障: 事务在运行至正常终止点前被中止 恢复方法 由恢复子系统应利用日志文件撤消(UNDO)此事务已对数据库进行的修改 事务故障的恢复由系统自动完成 事务故障的恢复步骤 ⑴ 反向扫描文件日志,查找该事务的更新操作。 ⑵ 对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”(Befor Image, BI)写入数据库。 插入操作,“更新前的值”为空,则相当于做删除操作 删除操作,“更新后的值”为空,则相当于做插入操作 若是修
文档评论(0)