- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * 不同的隔离级别下,可以在隔离性和性能之间进行均衡。就像一个滑动开关,在不同的档位上,可能性能最好,但隔离性最差。 Oracle只支持Read committed和Serializable两种级别,而且缺省是Read committed级别,这意味着存在一定的并发异常风险,但这一般是没有问题的。 * * * * * * 在一般情况下,ORACLE自动对资源加锁,以实现并发控制。 * * * * * 数据库应用技术第六章事务处理与并发控制 内容概要 事务处理 事务的基本特性 事务处理语句 并发控制 数据库实现机制简介 事务处理 事务(Transaction)是包括多个数据库操作,构成一个完整业务操作的逻辑工作单元。 事务的执行结果:全部成功 or 全部失败。 提交:通知数据库当前事务完全结束,数据库将事务的影响永久化。并准备开始下一个事务。 卷回:通知数据库撤销并结束当前事务,该事务之前所造成的影响完全回复。 部分卷回:撤销一部分操作,仍处于当前事务。 事务的ACID特性 原子性(Atomicity):事务的一组操作是不可分的。要么完全成功,要么完全失败,即使是在发生系统崩溃的情况下。 一致性(Consistency):符合预先设定的商业规则(Business Rules)。 隔离性(Isolation):两个事务并行执行的结果和(某种)串行执行的结果是一样的。也称可串行性(Serializability)。 持久性(Durability):事务提交后,结果是持久存储的,即使是在系统崩溃时。 事务处理的一些相关概念 事务、用户与会话的关系 一个用户可以开启多个会话(session) 一个事务只能限于一个会话中 不同会话之间的事务可能存在并发冲突 语句正确执行与事务提交的区别 语句级卷回与事务卷回 事务的开始和结束标志 事务开始标志 从上一个事务完成(或初次连接数据库)后的第一个DML语句开始。 带有FOR UPDATE的语句视为DML 在MSS中有BEGIN TRANSACTION语句 事务结束标志 显式的提交或卷回语句 执行一个DDL语句(提交) 用户断开连接(提交); 用户进程不正常结束(卷回)。 事务处理语句 COMMIT [WORK]; ROLLBACK [WORK]; SAVEPOINT 保存点; ROLLBACK TO sp; 数据库状态卷回到指定的sp,使这个sp之后保存的所有SAVEPOINT失效,释放这个sp之后的所有锁。 不结束当前事务,该sp之前的修改和锁仍然存在 事务处理 要注意程序执行流程与数据库状态的区别。 例子: 事务处理语句 内容概要 事务处理 并发异常与并发控制 并发异常 并发隔离级别 数据库实现机制简介 并发异常 多个事务并发执行时,在没有确保事务的隔离性和一致性的情况下出现的错误。 即并发执行结果与串行结果不一致。 并发异常种类 脏写(Dirty Write)* 脏读(Dirty Read) 不可重复读(Non-repeatable Read) 幻影读(Phantom Read) 并发异常举例 时刻 事务1 事务2 数据库值 1 X=R(A) 100 2 X=X+40 3 W(A,X) 140 4 COMMIT 140 5 X=R(A) 140 6 X=X+50 7 W(A,X) 190 8 COMMIT 190 两个事务串行执行结果 并发异常-脏写 时刻 事务1 事务2 数据库值 1 X=R(A)=100 100 2 X=R(A)=100 3 X=X+40 X=X+50 4 W(A,X) 140 5 W(A,X) 150? 6 COMMIT 7 COMMIT 并发异常-脏读 时刻 事务1 事务2 数据库值 1 X=R(A)=100 100 2 X=X+40 3 W(A,X) 140 4 X=R(A)=140 5 ROLLBACK 100 6 X=X+50 7 W(A,X) 190? 8 COMMIT 190? 并发异常-不可重复读 时刻 事务1 事务2 数据库值 1 X=R(A)=100 100 2 X=R(A)=100 3 X=X+40 4 X=X+50 5 W(A,X) 140 6 COMMIT 140 7 W(A,X) 150? 8 COMMIT 150? 并发异常-幻影读 时刻 事务1 事务2 数据库 1 SELECT SUM(DOLLARS) INTO x 共10条记录,SUM=1000 2 INSERT INTO ORDERS VALUES(120) 共11条记录,SUM=1120 3 COMMIT 4 建立游标,对表中每条记录循环读取 5 求和,以及其他操作 并发异常与隔离级别 上述异常能否出现,不仅取决于不同会话
您可能关注的文档
最近下载
- 生产经营单位生产安全事故应急预案编制导则GB/T29639-2020 .pptx VIP
- 唯一住房补贴申请书模板.docx VIP
- 员工花名册(自带公式).xlsx VIP
- 第三章交强险.pptx VIP
- 预防校园欺凌主题班会课件(共23张PPT).pptx VIP
- 《管理会计学》教案全套 孙茂竹 第1--12章 管理会计概论--- 管理会计报告.docx
- 顾客异议的类型.ppt VIP
- 预应力管桩试桩方案.doc VIP
- 北京宜通cl-06c六轴控制器说明书.pdf VIP
- 中职英语高教版(2025)基础模块2 Unit 1 Travel 单词课件(共61张PPT)(含音频+视频).pptx VIP
文档评论(0)