数据库系统和应用10.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文档。上传文档
查看更多
数据库系统和应用10

第十章 数据库恢复技术;10.1 事务的概念;1. 实例; 事务开始标记 UPDATE COURSE SET CNO=‘2256’ WHERE CNO=‘1156’ UPDATE SCORE SET CNO=‘2256’ WHERE CNO=‘1156’ 事务结束标记(COMMIT 或 ROLLBACK);例10.2 在银行应用中,将用户A账户中的1万元转移到用户B的账户上。 这个操作要求从用户A的账户中减掉1万元,在用户B的账户上增加1万元。银行的业务规则要求增加1万元和减少1万元这两个操作要么全做,要么一个也不要做。将下面的SQL语句定义成一个事务:;EXEC SQL UPDATE Account SET Balance = Balance + 10000 WHERE CID = B; /*用户B的账户增加10 000元*/ EXEC SQL SELECT Balance INTO :C_Balance /* 取出用户A的余额,放到变量C_Balance中*/ FROM Account WHERE CID = A;;If C_Balance 10000 then EXEC SQL ROLLBACK; /* 增加10 000元的操作,事务非??常结束*/ Else /* 如果用户A的余额充足 */ { EXEC SQL UPDATE Account SET Balance = Balance – 10 000 /*从用户A的存款中减掉10 000元*/ WHERE CID = A; EXEC SQL COMMIT; /*事务正常结束*/ }; 从本例中可以看到事务是类似于具有一个入口,两个出口的一种控制结构。COMMIT是一个出口,表示事务的所有操作都完成了。ROLLBACK是另一个出口,通过撤消所有的已经做过的操作达到一个操作也没做的效果。;2. 事务的特性; ⑶ 隔离性(Isolation) 为了提高事务的吞吐率,大多数DBMS允许同时执行多个事务,就像分时操作系统为了充分利用系统资源,同时执行多个进程一样。 ⑷ 持久性(Durability) 一个事务一旦完成了全部操作,它对数据库的所有更新操作的结果应反映到数据库中。 事务的这4个特性一般简称为事务的ACID特性。; 如果因为某种原因,一个事务不能从头到尾地成功执行,数据库就处于一个不一致性状态。这是不允许的。这时需要将数据库恢复到事务执行前的状态。 DBMS必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为一致性状态或完整性状态)的功能,这就是数据库的恢复。;主要有以下一些原因: ① 程序的错误,如应用程序、OS等 ② 硬件的故障 如外设、CPU等 ③ 操作员错误 如数据输入错误等 ④ 电源问题 电压过高或过低等 ⑤ 天灾 如火灾、地震等 ⑥ 恶意破坏 如计算机病毒、恶意 犯罪等; ⑴ 事务故障 事务故障意味着事务没有达到预期的终点(COMMIT或者显式的ROLLBACK),因此数据库可能处于不正确的状态。 注意:事务故障只发生在事务(Transaction)上,而整个数据库系统仍在控制下运行。 ; 事务故障有的是事务本身可预料的故障,可以由事务程序本身预先发现,且让事务回退(ROLLBACK);有的是事务本身不可预料的故障,不能由事务程序实现估计,是非预期的。例如,算术运算溢出、死锁、破坏完整性约束、超时、申请资源过多、输入错误、人工操作干予等等。; ⑵ 系统故障 系统故障又称为软故障(Soft Crash)。系统故障是指造成系统停止运转的任何事情,使得系统要重新启动。例如,CPU故障、操作系统故障、DBMS故障、死循环时系统安排停止、系统崩溃、断电等。这种故障发生在系统范围内,影响当前处理的全部事务,但是数据库尚没有被破坏。; 发生系统故障时,这时内存中的信息,尤其是数据库缓冲区(在内存)中的内容都被丢失,而存储在外存储设备上的数据未受到影响。由于所有运行事务都非正常终止,一些尚未完成的事务的结果可能已送入物理数据库,从而造成数据库可能处于不正确的状态。 ; ⑶ 介质故障 使存储在外存上的数据部

文档评论(0)

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

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

1亿VIP精品文档

相关文档