- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * 事务管理与并发控制 - * - 本章目标 理解事务的概念 熟悉事务的特性及应用范围 掌握事务控制的基本语句及功能 掌握Oracle中事务的实现及应用 了解并发访问带来的问题 理解锁、锁定和锁定协议的相关概念 理解活锁与死锁的概念 理解锁的粒度 掌握Oracle中的锁的分类及特点 掌握通过SQL*Plus检测与解决锁争用 - * - 事务(transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。 事务性质:原子性、一致性、隔离性、持久性 数据访问:read(X) 、write(X) 事务的概念 - * - 活动状态(active):事务在执行时的状态; 部分提交状态(partially committed):事务中最后一条语句执行后的状态; 失败状态(failed):事务不能正常执行时的状态; 中止状态(aborted):事务回滚并且数据库已恢复到事务开始执行前的状态; 提交状态(committed):事务成功完成后的状态。 事务的状态 - * - 特性:ACID 一致性 原子性 持久性 隔离性 事务的特性与应用 - * - 搭建事务演示环境: 事务的开始与结束:不需要使用专门的语句来显式的表示事务的开始 事务的提交:使用COMMIT语句来显式提交事务 事务的回滚与保存点:ROLLBACK/SAVEPOINT 事务控制 - * - 并发问题: 更新丢失(lost update) 脏读(dirty read) 不可重复读(non-repeatableread) 幻读(phantom read) 隔离级别 序列化级别(serializable) 可重复读(repeatable read) 读已提交(read committed) 读未提交(read uncommitted) 事务隔离级别 - * - 独占锁(eXclusive lock,即X锁) 独占锁是对锁定的资源只允许进行锁定操作的事务使用的,独占锁又称为写锁 共享锁(Share lock,即S锁) 共享锁是指对不更改或不更新数据的读取操作的事务使用的,共享锁又称为“读锁”,它是非独占的,允许多个并发事务读取其锁定的数据库对象。 锁与锁定 对已加锁进行锁操作 NL 共享锁 独占锁 共享锁 可以 可以 不可以 独占锁 可以 不可以 不可以 - * - 一级锁定协议:一级锁定协议可以防止丢失修改,并保证事务是可恢复的 二级锁定协议:二级锁定协议可以进一步防止脏读的问题 三级锁定协议:三级锁定协议可以进一步防止不可重复读的问题 锁定协议 申请的锁 及其作用 锁定协议 修改时申请独占锁 读取时申请共享锁 作用 操作结束释放 事务结束释放 操作结束释放 事务结束释放 不丢失修改 不脏读 可重复读 一级锁定协议 是 是 二级锁定协议 是 是 是 是 三级锁定协议 是 是 是 是 是 - * - 活锁:多个事务并发执行的过程中,可能会存在某个有机会获得锁的事务却永远也没有得到锁,这种现象称为活锁。 死锁:多个并发事务处于相互等待的状态,其中的每一个事务都在等待它们中的另一个事务解除锁定。 预防: 一次锁定法:要求每个事务必须一次将所有要使用的数据库对象全部锁定 顺序锁定法:要求预先对数据库对象规定一个锁定的顺序,所有事务都按这个顺序来实行锁定 活锁与死锁 - * - 超时法:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。 不足: 有可能误判死锁 时限若设置的太长,死锁发生后不能及时发现 等待图法:是用离散数学的图论来诊断死锁,事务等待图动态地反映了当前的各个事务之间的等待情况 诊断与解除死锁 - * - 粒度划分:从高到低依次划分为数据库、表、记录、列 锁的粒度与系统的并发度和并发控制的开销密切相关。 事务到底使用哪种级别上的锁定,应当根据事务要处理的数据量来决定。 多粒度锁定:商业化的数据库管理系统 锁的粒度 - * - DDL锁:防止在用DML语句操作数据库表时,对表进行删除或对表的结构进行更改 排它DDL锁:创建、修改、删除一个数据库对象的DDL语句获得操作对象的排它锁 共享DDL锁:需在数据库对象之间建立相互依赖关系的DDL语句通常需共享获得DDL锁 分析锁:一种独特的DDL锁类型,Oracle使用它追踪共享池对象及它所引用数据库对象之间的依赖关系。 DML锁:防止多个事务并发访问数据时对数据一致性和完整性破坏 行锁 表级锁 Oracle中锁的分类 - * - 数据库级别的锁 将数据库设置成受限方式 将数据库更改成只读方式 表级别的锁 用于还没提
您可能关注的文档
- (HTML5程序设计及实践)第1章HTML5简介.ppt
- (HTML5程序设计及实践)第2章HTML5布局.ppt
- (HTML5程序设计及实践)第3章HTML5表单.ppt
- (HTML5程序设计及实践)第4章HTML5画布.ppt
- (HTML5程序设计及实践)第5章HTML5拖放.ppt
- (HTML5程序设计及实践)第6章HTML5音频和视频.ppt
- (HTML5程序设计及实践)第7章HTML5Web存储.ppt
- (HTML5程序设计及实践)第8章HTML5应用程序缓存.ppt
- (HTML5程序设计及实践)第9章HTML5多线程.ppt
- (HTML5程序设计及实践)第10章HTML5手机应用开发.ppt
- 人教版部编版小学语文一年级下册 荷叶圆圆 名师教学课件PPT(7).ppt
- 人教部编版小学语文四年级下册 四时田园杂兴 名师教学课件PPT.ppt
- 人教部编版二年级语文下册 大象的耳朵 (8) 名师教学PPT课件.ppt
- 人教部编版三年级语文下册 火烧云 (2) 名师教学PPT课件.ppt
- 企业宣传 PPT模板 精品PPT模板(2).ppt
- 人教部编版三年级语文上册 大自然的声音 名师教学PPT课件.ppt
- 人教部编版小学语文五年级上册 圆明园的毁灭 名师教学PPT课件.ppt
- 2024战训理论汇总复习测试附答案.doc
- 全业务核心班组-变电运维监控(判断)练习测试卷.doc
- 高职-信息技术(WPS中级——理论2024.复习试题附答案.doc
原创力文档


文档评论(0)