1、事务的几个概念

中止事务:事务在执行过程中发生故障,不能执行完成的事务。可以进行事务回滚,保持数据库的一致性。

事务回滚:将中止事务对数据库的更新操作撤销称为事务回滚。

已提交事务:成功执行完成的事务称为已提交事务。已提交的事务不能进行回滚操作,必须由程序员手工执行一个补偿事务才能撤销提交的事务对数据库的影响。

2、事务的状态 

事务执行的情况:事务成功执行,数据库进入一个新的一致状态;事务因为故障或其他原因未能够成功执行,这个时候数据库处于不一致状态,需要对未成功执行的事务造成的变更进行回滚操作,即事务回滚。

2.1 事务的五种状态

  • 活动状态:事务的初始状态,事务执行时处于这个状态。

  • 部分提交状态:当操作序列的最后一条语句自动执行后,事务处于部分提交状态。此时事务虽然已经完全执行,但由于实际输出可能还临时驻留在内存中,在事务成功完成之前还有可能出现硬件故障,事务仍有可能中止的情况。因此部分提交状态不表示事务一定成功执行。

  • 失败状态:因为硬件或逻辑等错误,使得事务不能继续正常执行,事务就会进入失败状态,然后必须执行回滚操作,然后事务就进入中止状态。

  • 中止状态:事务回滚并且数据库恢复到事务开始执行前的状态。

  • 提交状态:事务成功完成后,称事务处于提交状态。只有事务处于提交状态后,才表明事务已经提交。

2.2 事务的状态转换 

begin transation:开始执行事务,使得事务处于活动状态。

  • end transation:表示事务中所有对数据库的操作都已经完成。

  • commit transation:标志事务已经成功完成。、,事务中对数据库的操作已经安全存入数据库,事务进入提交状态,结束事务的运行。

  • abort transaction:标志事务进入失败状态,系统撤销事务中所有操作对数据库的影响,结束事务的运行。

2.3 事务进入中止状态一般会有以下两种选择

1、重启事务:如果事务是因为软、硬件错误引起,不是事务内部逻辑错误所产生时,一般会采用重启事务的方法。重启事务可以理解为一个新的事务。

2、杀死事务:这种选择通常是因为事务中内部逻辑造成的错误或者输入的错误。

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

事务管理:事务的状态相关知识笔记相关推荐

  1. JAVA Spring 事务管理事务不回滚问题

    Spring事务管理事务不回滚 dao层: @Repository public class UserDaoImpl implements UserDao { @Autowired private J ...

  2. 事务管理基础:数据库的并发控制相关知识笔记

    1.并发操作的概念介绍 并发操作主要是指在多用户共享的系统当中,可能存在很多用户同时对同一个数据进行操作.并发操作会造成丢失更新.不可重复读.读脏数据.主要原因是事务的并发操作破坏了事务的隔离性. 2 ...

  3. 数据库系统故障相关知识笔记

    数据库系统中可能发生的故障主要包括事务故障.系统故障.介质故障.计算机病毒等.下面给大家简单整理一下相关的故障知识笔记. 1.事务故障 事务故障是因为程序执行错误而引起的非预期.异常终止的故障.主要有 ...

  4. 数据库恢复相关知识笔记

    1.数据库恢复的原理 数据库恢复的原理主要是在数据库发生故障之后,建立冗余数据,在故障发生之后利用冗余数据来完成数据库恢复.数据转储和建立日志文件是建立冗余数据常用的技术手段.一般情况下两种技术手段会 ...

  5. SQLServer子查询相关知识笔记

    今天给大家介绍以下SQLServer子查询相关知识,希望对大家能有所帮助! 1.子查询概念介绍 子查询可以嵌套在SELECT.INSERT.UPDATE.DELETE语句或其他子查询语句中的查询,子查 ...

  6. 事务管理基础:排它锁和共享锁相关知识笔记

    1.排它锁.共享锁出现的意义 数据库的并发事务对数据库进行读写,可能会破坏事务的隔离性和数据一致性.为了保持事务的隔离性,系统必须对事务之间的相互作用加以控制.最典型的做法就是当一个事务访问某个数据对 ...

  7. SQLServer数据库文件组相关知识笔记

    1.数据库文件组概念 数据库文件被组织在称为"文件组"的逻辑组中.文件组是所创建对象(如表或索引)的目标容器,对象数据将分散在其所在目标文件组的文件中,文件组可以按你要求的方式来控 ...

  8. 数据挖掘:数据仓库相关知识笔记

    1.数据仓库介绍 数据仓库(DW):可以满足管理人员的决策分析需要,在数据库基础上产生了满足决策分析需要的数据环境. 传统数据库和数据仓库比较 比较内容 传统数据库 数据仓库 数据内容 当前数据 历史 ...

  9. SQLServer数据库文件相关知识笔记

    1.数据库文件概念 数据库文件是SQLServer数据库的物理体现,和计算机的普通文件一样存储在计算机的磁盘空间当中.作为数据库记录和日志等其他信息的存储载体. 2.数据库文件分类 数据库文件主要包括 ...

最新文章

  1. OVS DPDK--报文处理流程(八)
  2. 挖掘机实现“无人驾驶”!协作机器人“魔法之手”取代人工操作
  3. 改变Linux工作环境中的提示信息
  4. CodeForces 7D Palindrome Degree 字符串hash
  5. phpstudy命令行中数据表插入中文显示不了的问题
  6. mshtml 解析html c,关于MSHTML
  7. 如何合并apk和odex文件
  8. 等价类划分法用例设计
  9. (2021 最新版)IntelliJ IDEA 下载安装及配置教程
  10. javaweb调用qq认证登录接口
  11. 通过Python给头像加国旗,10多行代码搞定,就别@官方了
  12. Visio 连线 取消自动附着,取消自动捕捉
  13. 多媒体计算机技术中处理的媒体元素,系统架构设计师多媒体技术基本概念
  14. 深度学习之蛋白质二级结构预测
  15. python中iter()的高阶用法
  16. 客户端服务器通信demo(续) -- 使用二进制协议 (附源码)
  17. 如何在微信公众号正文中添加附件?
  18. 研发质量管理的“红与黑”
  19. windows下安装GVM
  20. 安卓混淆-微信混淆同款

热门文章

  1. 批处理获取exe返回结果
  2. 自定义报表预览控制工具条
  3. 发布IP地址查询的WEB SERVICE
  4. 基于UNet和camvid数据集的道路分割
  5. 【pyqt5学习】——tableWidget学习
  6. 【图像处理】——Python霍夫变换之直线检测(主要是两个函数HoughlinesHoughlinesP)
  7. 【图像处理】——opencv常用函数
  8. Oracle 数据定义语言,oracle 数据定义语言(DDL)语法
  9. pythonnet下载_Python for .NET
  10. 在windows上安装OpenCV