电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

informix长事务详解

informix长事务详解_第1页
1/10
informix长事务详解_第2页
2/10
informix长事务详解_第3页
3/10
长事务 ( Long Transaction ) 是数据库用户经常会碰到和非常头疼的问题。长事务处理不当常常会引起数据库的崩溃,给企业运营带来不必要的损失。本文旨在帮助用户理解什么是长事务,为什么会出现长事务,怎样避免长事务以及如何解决长事务可能带来的系统挂起甚至崩溃问题。 什么是“长事务”? 要理解什么是“长事务”,还要从“事务”本身及数据库的逻辑日志工作原理谈起。所谓“事务”(transaction),是一个完整的不可分割的数据处理单元。该单元中所有的数据处理操作要么全部处理成功,要么因其中任意一个操作的失败而完全回滚至整个事务处理前状态。为了保证事务的完整性,Informix 数据库通过逻辑日志 (logical log) 来记录所有的事务操作及其处理的数据。逻辑日志的作用之一在于对数据所发生的变化进行记录以满足可能的回滚需要。 Informix 数据库服务器把逻辑日志分成多个相互分离的磁盘空间,每个磁盘空间称为一个逻辑日志文件。由于逻辑日志文件的大小和个数由参数指定,整个逻辑日志的空间是相对固定的,并不能无限制的增长。所以对于逻辑日志文件的使用是循环进行的。Informix 数据库服务器按数字顺序依次填充空闲的(即状态为 free 或 av ailable)的逻辑日志文件。当第一个逻辑日志文件变满时,接着开始填充下一个逻辑日志文件,直到填充完最后一个逻辑日志文件。这时,数据库服务器回到第一个逻辑日志文件,试图将其内容释放,以循环使用 ( 如图 1)。 图 1 . 循环使用的逻辑日志 释放已经使用过的逻辑日志,需要具备很多条件。其中之一就是该日志不能包含仍然活动的 ( 即还没有提交 ) 的事务。 因为活动的事务随时存在需要回滚的可能性,如果在事务还没有提交时,包含该事务记录的日志由于被释放重用,原来的事务操作记录被覆盖,当事务由于各种原因需要回滚时,回滚所需的记录就会缺失,从而导致无法保证事务的原子性和完整性。 那么,当数据库服务器需要循环使用某个逻辑日志文件,而该文件又包含有还没有提交的事务时,数据库系统就将被挂起 (hang), 处于一种停滞状态,任何对数据库的更新操作都无法继续,从而影响系统的正常处理工作 ( 如图 2)。 图 2. 长事务导致系统挂起 为了防止这种现象的发生,我们把占用整个逻辑日志空间在一定比例以上的事务,就叫做“长事务”。“长事务”意味着可能由于跨越过多的日志文件,导致需要循环使用的日志文件不能及时释放。从而造成数据库系统挂起无...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

informix长事务详解

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部