第8章 数据库保护.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 数据库保护.ppt

例如:假设有两个事务,分别包含如下操作: 事务T1: 读B;A=B+1;写回A. 事务T2:读A; B=A+1;写回B. 假设A,B均为4: 按T1-T2的顺序执行,结果:A=5,B=6 按T2-T1的顺序执行,结果:A=6,B=5 8.2.5 并发调度的可串行性 多个事务的并发执行是正确的,当且仅当其结果与按某一顺序的串行执行的结果相同,则我们称这种调度为可串行化的调度。 可串行性是并发事务正确性的准则,按这个准则,一个给定的并发调度,当且仅当它是可串行化的时,才认为是正确的调度。 8.2.6 两段锁协议 两段锁协议是实现可串行化调度的充分条件。 可以将每个事务分成两个时期:申请封锁期和释放封锁期,申请期申请要进行的封锁,释放期释放所占有的封锁。 在申请期不允许释放任何锁,在释放期不允许申请任何锁,这就是两段式封锁。 8.3 数据库备份与恢复 8.3.1 数据库故障的种类 8.3.2 数据库备份 8.3.3 数据库恢复 8.3.1 数据库故障的种类 事务内部的故障 事务故障意味着事务没有达到预期的终点(COMMIT或ROLLBACK),因此,数据库可能处于不正确的状态。 系统故障 指造成系统停止运转、系统要重启的故障。例如,硬件错误(CPU故障)、操作系统故障、突然停电等。 其它故障 介质故障或由计算机病毒引起的故障或破坏。 8.3.2 数据库备份 (1)概念:指定期或不定期地对数据库数据进行复制。可以复制到本地机器上,也可以复制到其它机器上。 (2)介质:可以是磁带也可以是磁盘,但通常选用磁带。 (3)意义:是保证系统安全的一项重要措施。 在制定备份策略时,应考虑如下几个方面: 备份的内容 备份频率 备份内容 数据库的表(结构);数据库用户(包括用户和用户操作权)以及用户定义的数据库对象和数据库中的全部数据.还应该备份数据库日志等内容. 备份频率 (1)允许丢失数据量的大小; (2)数据库的事务的类型以及事故发生的频率。 8.3.3 数据库恢复 1.恢复策略 (1)事务故障的恢复 (2)系统故障的恢复 (3)介质故障的恢复 2.恢复方法 (1)利用备份技术 (2)利用事务日志 (3)利用镜像技术 第8章 数据库保护 8.1 事务的基本概念 8.2 并发控制 8.3 数据库备份与恢复 8.1 事务的基本概念 8.1.1 事务 8.1.2 事务的特征 8.1.3 SQL事务处理模型 8.1.1 事务 事务的概念: 事务是用户定义的数据操作系列,这些操作作为一个完整的工作单元,一个事务内的所有语句被作为一个整体,要么全部执行,要么全部不执行。 例如:对于一个转帐活动:A帐户转帐给B帐户n元钱,这个活动包含两个动作: 第一个动作:A帐户 - n 第二个动作:B帐户 + n 8.2.2 事务的特征 原子性 :指事务是数据库的逻辑工作单位,事务中的操作要么都做,要么都不做。 一致性 :指事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 隔离性 :指数据库中一个事务的执行不能被其它事务干扰。 持久性 :也称为永久性指事务一旦提交,则其对数据库中数据的改变就是永久的。 保证事务的ACID特性是事务处理的重要任务。事务的ACID特性可能遭到破坏的因素有: 多个事务并行运行时,不同事务的操作有交叉情况; 事务在运行过程中被强迫停止。 8.2.3 SQL事务处理模型 隐式事务:隐式事务是每一条数据操作语句都自动地成为一个事务。 显式事务:有显式的开始和结束标记的事务。 ISO事务处理模型 T-SQL事务处理模型 ISO事务处理模型 明尾暗头――事务的开头是隐含的,事务的结束有明确标记 A.事务结束符 COMMIT:事务成功结束符, ROLLBACK:事务失败结束符, B.事务提交方式 自动提交:每条SQL语句为一个事务 指定位置提交:在事务结束符或程序正常结束处提交 C.事务起始/终止位置 程序的首条SQL语句或事务结束符后的语句。 在程序正常结束处或COMMIT语句处成功终止; 在程序出错处或或ROLLBACK处失败终止。 示例 UPDATE 支付表 SET 帐户总额 = 帐户总额 - n WHERE 帐户名 = ‘A’ UPDATE 支付表 SET 帐户总额 = 帐户总额 + n WHERE 帐户名 = ‘B’ COMMIT T-SQL事务处理模型 每个事务都有显式的开始和结束标记。 事务的开始标记是: BEGIN TRANSACTION | TRAN 事务的结束标记为: COMMIT [TRANSACTION|TRAN] ROLLBAC

文档评论(0)

eanp35308 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档