首页 > 知识点讲解
       事务的状态
知识路径: > 数据库技术 > 事务管理 > 事务的基本概念 > 事务的基本概念 > 
相关知识点:4个      
               概述
               如果不出现故障,那么所有事务都能执行完成。一旦在执行过程中发生故障,不能执行完成的事务称为中止事务;将中止事务对数据库的更新撤销称为事务回滚;成功执行完成的事务称为已提交事务
               中止的事务是可以回滚的,通过回滚恢复数据库,保持数据库的一致性,这是DBMS的责任。已提交的事务是不能回滚的,必须由程序员或DBA手工执行一个“补偿事务”才能撤销提交的事务对数据库的影响。
               注意:事务一旦提交,就不能中止它,而要撤销已提交事务所造成影响的唯一方法是执行一个补偿事务(Compensating Transaction)。比如一个事务给账户A加了600元,其补偿事务是对账户A减去600元。实际上不是总能够创建这样的补偿事务。
               事务状态
               事务是数据库的基本执行单元。事务的执行情况有两种可能:一种情况是事务成功执行,数据库进入一个新的一致状态;另一种情况是事务因为故障或其他原因未能够成功执行,但已经对数据库做了修改。未能成功执行的事务极有可能导致数据库处于不一致状态,这时候就需要对未能成功执行的事务(也称中止事务)造成的变更进行撤销操作(也称回滚ROLLBACK)。如果中止事务造成的变更已经撤销,就称事务已回滚。
               成功完成的事务称为已提交事务。对数据库进行更新的已提交的任务使数据库进入一个新的状态,即使出现系统故障,这个状态必须保持。另一方面,成功提交的事务不能通过中止来撤销而造成的影响,必须采用执行一个称为“补偿事务”的方法来撤销。
                      事务的五种状态
                      为了更明确地描述事务的执行过程,一般将事务的执行状态分为五种,事务必须处于这五种状态之一。事务各种状态含义说明如下:
                      (1)活动状态:事务的初始状态,事务执行时处于这个状态。
                      (2)部分提交状态:当操作序列的最后一条语句自动执行后,事务处于部分提交状态。这时,事务虽然已经完全执行,但由于实际输出可能还临时驻留在内存中,在事务成功完成前仍有可能出现硬件故障,事务仍有可能不得不中止。因此,部分提交状态并不等于事务成功执行。
                      (3)失败状态:由于硬件或逻辑等错误,使得事务不能继续正常执行,事务就进入了失败状态。处于失败状态的事务必须进行回滚(ROLLBACK)。这样,事务就进入了中止状态。
                      (4)中止状态:事务回滚并且数据库恢复到事务开始执行前的状态。
                      (5)提交状态:当事务成功完成后,称事务处于提交状态。只有事务处于提交状态后,才能说事务已经提交。
                      事务的状态转换
                      事务的状态转换如下图所示。
                      
                      事务的状态转换图
                      事务状态转换操作命令如下表所示,可以通过在事务中执行相关操作,实现事务状态的转换。
                      
                      事务状态转换操作
                      需要说明的是,事务进入中止状态后,系统一般有如下两种选择:
                      (1)重启事务。当事务中止的原因是软、硬件错误而不是事务内部逻辑错误时,一般采用重启事务的方法。重启事务可以被看成一个新事务。
                      (2)杀死事务。这样做通常是因为事务中止的原因是事务内部的逻辑错误,或者是输入错误,也可能是所需数据在数据库中没找到等原因。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有