- 0
- 0
- 约4.05千字
- 约 27页
- 2017-06-19 发布于湖北
- 举报
* * * * * * * * * * * * * 不同的隔离级别下,可以在隔离性和性能之间进行均衡。就像一个滑动开关,在不同的档位上,可能性能最好,但隔离性最差。 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 求和,以及其他操作 并发异常与隔离级别 上述异常能否出现,不仅取决于不同会话
您可能关注的文档
- 一种求多元函数极值的算法及它在天文光学系统自动设计中的试用.pdf
- 过程的监视及测量及其能力评价的思考及实践.doc
- 第8章 任务调度及备份管理.ppt
- 鸦片别名竟是慈禧亲赐,还竟然带头吸食(附件).pdf
- 图解天易成局域网限速软件部署模式优缺点幻灯片.docx
- 第七章 动态搜索算法求解时间依赖型旅行商问题研究.pdf
- 第五章 电力系统数据模型描述语言E.pdf
- 第四讲 使用JDBC连接数据库.ppt
- 一种数据库汉语查询接口的设计和实现.pdf
- 一种基于SIP及移动IP的切换机制的研究.pdf
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- CAD软件:CATIA二次开发_CATIAVBA编程基础.docx VIP
- 2025 国家电投 新能源区域化管理实施方案.docx VIP
- 基于 CNN-BiLSTM 的中短期电力负荷预测.docx VIP
- 乘运合同纠纷案代理词吴一诉西安汽车客运有限公司客运合同纠纷案.docx VIP
- 机械设计软件:CATIA二次开发_(8).CATIAVBA高级编程技巧.docx VIP
- 佛教戒律论文开题报告.docx VIP
- 2025春人教版三年级下册英语Unit 2 Expressing yourself Part B Read and write 课件.pptx VIP
- CAD软件:CATIA二次开发_(6).CATIAVBA高级编程技巧.docx VIP
- 火电项目可行性报告.ppt VIP
- 机械设计软件:CATIA二次开发_(3).CATIAVBA编程入门.docx VIP
原创力文档

文档评论(0)