数据库大神来看,事务回滚靠的是undo,还是redo

数据库大神来看,事务回滚靠的是undo,还是redo,第1张

回滚事务是undo哦,把这两个概念大致说一下额。

redo(重做信息)是Oracle在在线(或归档)重做日志文件中记录的信息,万一出现失败时可以利用这些数据来“重放”(或重做)事务。 Oracle会使用归档重做日志以及在线重做日志将该驱动器上的数据备份恢复到适当的时间点。归档重做日志文件实际上老的在线重做日志文件的副本。undo(撤销信息)是Oracle在undo段中记录的信息,用于取消或回滚事务。 具体的机制lz可以耐心去了解一下,对你帮助很大。有问题再追问吧,望采纳。

前滚和回滚是 SQL Server 中的两个事务 *** 作

前滚-恢复。白话:还没有做,根据日志继续把它做完。

回滚-撤销。白话:已经做了,根据日志取消刚才所做的。

每个 Microsoft SQL Server 2000 数据库都有一个事务日志记录数据库内的数据修改,事务日志可以用于前滚和回滚 *** 作。

看你是什么数据库了,SQL的就好办了

去下载一个logExplorer,很快搞定

原理是:

你修改、添加或删除数据的时候,所有的命令都会被LOG日志记录,这个软件就是把日志里的 *** 作进行反向 *** 作达成回复目的~

事务就是一系列对数据库的 *** 作,这些 *** 作要么全部正确执行,一旦有一个 *** 作执行失败,就要让全部 *** 作都执行失败,也就是已经执行成功的 *** 作需要撤销掉。将一系列相关的 *** 作封装为事务是为了保证数据库的一致性。

将一个事务的所有 *** 作对数据库所作出的改变全部撤销的过程就是回滚事务。事务的回滚会在出现事务 *** 作执行失败时自动发生,也可以使用命令显式的让任何事务提交或者回滚。

回滚的作用就是,当有一个SQL语句执行时,条件不符合要求,比如你要插入一个数据,但是插入的数据要有条件的,这时候你就可以用回滚,如果条件成功就COMMIT提交的意思,不然就ROLLBACK回滚,也就是说插入不成功

楼主这个回滚机制,针对的是java的事务管理吧! 事务处理之前必须进行取消自动提交,在默认情况下,所有的数据都是被默认提交上去的,就是说只要一执行更新就提交。

取消自动提交之后,如果最后程序的代码(批处理代码)没有出错,则可以进行人为的手工提交。最后如果程序出现了错误,则应该进行回滚。

瑭锦Tanjurd解释一组业务整体处理的行为叫一个事务。这一组的业务都能成功处理,我们就可以把这个事务提交来保存你已做的行为结果。但如果一组中有任何的差错出现的话,我们就认为这事务不成功,需要回滚来撤消之前的 *** 作。举例:你去银行转账,转账我们有两步吧,从你账户中取出钱再往他账户中加钱。那这两步银行是必须要确保正确无误的进行的。要被看做成一个事务。其中任何一步出错就算是转账失败,但可能你这时是已经从你账户中扣了钱了,又没往他账户里加钱?怎么办算了?你不肯吧。所以银行会事务回滚,不保存你刚才的 *** 作,即恢复到你没转账之前的状态

以上就是关于数据库大神来看,事务回滚靠的是undo,还是redo全部的内容,包括:数据库大神来看,事务回滚靠的是undo,还是redo、数据库中前滚、回滚什么意思、将数据库中的所数据修改了,怎样才能恢复等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9465168.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存