二零二五年首季度知识点4.5事务认知.pptxVIP

二零二五年首季度知识点4.5事务认知.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

掌握事务提交

掌握事务回滚

掌握事务锁定

掌握事务提交

事务提交

p事务就是提交事务对数据库所做的修改,将从事务开始的所有更新保存到数

据库中,更改的记录都被写入日志文件并最终写入到数据文件中,同时提交

事务还会释放由事务占用的资源,如锁。

p在DM数据库中还存在三种事务模式:自动提交模式、手动提交模式和隐式提

交模式。

自动提交模式

pDM数据库默认采用自动提交模式。用户通过DM数据库的其他管理工具、编

程接口访问DM数据库时,如果不手动/编程设置提交模式,所有的SQL语句

都会在执行结束后提交,或者在执行失败时回滚,此时每个事务都只有一

条SQL语句。在DISQL中,用户也可以通过执行如下语句来设置当前会话为

自动提交模式。

p语法:SETAUTOCOMMITWORK

手动提交模式

p在手动提交模式下,DM数据库用户或者应用开发人员明确定义事务的开始

和结束,这些事务也被称为显式事务。

•在DISQL中,没有设置自动提交时,就是处于手动提交模式,此时DISQL连接到服务器

后第一条SQL语句或者事务结束后的第一条语句就标记着事务的开始,可以执行COMMT

或者ROLLBACK来提交或者回滚事务,使当前事务工作单元中的所有操作“永久化”,

并冻结该事务。

p手动提交语法格式:COMMIT[WORK]

•其中,WORK支持与标准SQL语句的兼容性,COMMIT和COMMITWORK等价。

隐式提交模式

p隐式提交模式指的是在手动提交模

式下,当遇到DLL语句时,DM数据

库会自动提交前面的事务,然后开

始一个新的事务执行DDL语句。相

应的事务成为隐式事务。

掌握事务回滚

事务回滚

p事务回滚是撤销该事务所做的任何更改。

p回滚有两种形式,即DM数据库自动回滚或通过程序ROLLBACK命令手动回滚。

p除此之外,与回滚相关的还有回滚到保存点和语句级回滚

自动回滚

p若事务运行期间出现连接断开,DM数据库都会自动回滚该连接所产生的事

务。

p回滚会撤销事务执行的所有数据库更改,并释放此事务使用的所有数据库

资源。DM数据库在恢复时也会使用自动回滚。

•例如,在运行事务时服务器突然断电,接着系统重新启动,DM数据库就会在重启时执

行自动恢复。自动恢复要从事务重做日志中读取信息以重新执行没有写入磁盘的已提

交事务,或者回滚断电时还没有来得及提交的事务。

手动回滚

p一般来说,在实际应用中,当某条SQL语句执行失败时,用户会主动使用

ROLLBACK语句或者编程接口提供的回滚函数来回滚整个事务,避免不合逻

辑的事务污染数据库,导致数据不一致。

p如果发生错误后只用回滚事务中的一部分,则需要用到回滚到保存点的功

能。

回滚到保存点

p从事务的最末端回滚到事务中任意一个被称为保存点的标记处。

p用户在事务内可以声明多个被称为保存点的标记,将大事务划分为几个较

小的片断。之后用户在对事务进行回滚操作时,就可以选择从当前执行位

置回滚到事务内的任意一个保存点。

•DM数据库用户可以使用SAVEPOINT_NAME命令创建保存点,使用ROLLEACKTO

SAVEPOINTSAVEPOINT_NAME命令来回滚到保存点SAVEPOINT_NAME。语法格式如下:

•设置保存点:SAVEPOINT保存点名

•回滚到保存点:ROLLBACK[WORK]TOSAVEPOINT保存点名;

语句级回滚

p如果在一个SQL语句执行过程中发生了错误,那么此语句对数据库产生的

影响将被回滚。回滚后就如同此语句从未被执行过,这种操作被称为语句

级回滚。语句级回滚只会使此语句所做的数据修改无效,不会影响此语句

之前所做的数据修改。

回滚段自动清理

p由于需要根据回滚记录回溯、还原物理记录的历史版本信息,因此不能在

事务提交时立即清除当前事务产生的回滚记录。

p如果不及时清理回滚段,可能会造成回滚段空间的不断膨胀,占用大量的

磁盘空间。

pDM数据库提供自动清理、回收回滚段空间的机制

掌握事务锁定

事务锁定

pDM数据库支持多用户并发访问、修改数据,有可能出现多个事务同时访问、

修改相同数据的情况。若对并发操作不加控制,就可能会访问到不正确的

数据,破坏数据的一致性和正确性。

pDM数据库采用封锁机制来解决并发问题。

锁模式

pDM数据库使用四种不同的锁模式:共享锁、排他锁、意向共享锁和意向排

他锁。

p共享锁

•共享锁(ShareLoc

文档评论(0)

192****6075 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档