首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

Oracle (ROLLBACK)和撤销(UNDO)

=== 一、(ROLLBACK)和撤销(UNDO) 和前滚是保证Oracle数据库中的数据处于一致性状态的重要手段。...在9i版本以前 Oracle使用数据库中的来实现未提交数据或因系统故障导致实例崩溃时进行操作 每一个表空间需要创建,各个表空间对实现各自的管理 在9i及后续版本 提供了一种新的数据的管理方式...,即使用Oracle自动管理的撤销(Undo)表空间 自动撤销管理表空间统一管理所有DML的操作,简化了对于工作的管理 在9i,10g中的仅仅用作保留向后兼容 撤销代替了原有版本中的...在事务结束前一直被保留 UNDO中数据的作用: 用于操作 读一致性和闪查询 用于事务失败时的恢复 UNDO与事务: 一个事物的启动,Oracle将为其分配仅仅一个UNDO,若该段用完...--与之前的版本兼容的 TYPE2 UNDO : --9i之后使用的撤销 关于,一个时刻仅能使用一种类类型,即要么使用与以前版本兼容的,要么使用撤销 事实上,在9i之后仅仅支持撤销

2.3K10

oracle更新不生效以及提交后

可以执行COMMIT;进行提交,也可以点击commit图标进行提交,此时会显示Done in 0.001 seconds,即更新成功 提交后,如何"" execute执行后 可以 commit...提交后 闪恢复原来的数据 其实Oracle提交数据是分两步操作的,第一步execute执行,第二步commit提交。...但是 commit提交后 可以用闪查询恢复原来的数据 因为oracle会将近期的数据保存到快照中 如: SELECT * FROM tab AS OF TIMESTAMP TO_TIMESTAMP(...HH24:MI:SS'); 这里'20130506 20:00:00'就是你想恢复数据到哪个时间状态 tab是数据库的表名 这样查询到的数据就是执行更新操作之前的数据 执行下面语句就可以把这个时间的数据放到了...后,如何"":https://blog.csdn.net/u013630932/article/details/77266354

1.8K40

Oracle案例:SMON异常导致实例Crash

_20211103075907.trc Instance terminated by PMON, pid = 100111 当SMON重新发起并行时,实例被PMON终止,这里有一个隐藏错误,常常被忽视.../epmfdp2/cdump' SMON在重新发起时异常之后进程被crash了,最终PMON终止了实例。...0x8c800090的undo(头号为0x750f) SCN: 0x0eaa.692b8484,undo块0x1cd49528分配到undo头地址为0x8c800080的undo(头号为0x750d...综上分析我们得到的解决办法有如下几种: 重建该实例的undo表空间 删除异常的undo(头号为0x750f) bbed清空undo(头号为0x750f)的free block pool 那么故障的原因和解决方案分析完了...,还有一个很异常的问题,为什么几乎同一时间undo块连续分配给两个undo,当undo block分配给其他undo使用的时候,以前的undo的free block pool里没有清理掉呢?

1.6K30

spring事务机制_事务失败

Spring事务 使用 @Transaction 来配置自动,可以配置在类上,也可以配置在方法上(作用域不同),但对final或private修饰的方法无效,且该类必须是受spring...//some code //db operation } } Jetbrains全家桶1年46,售后保障稳定 若被配置的方法或类抛出了异常,则事务会被自动...可以使用 @Transactional(rollbackFor = Exception.class) 来设定针对特定的异常进行事务,如果不设置则默认会 RuntimeException and...User user) { userMapper.insert(user); throw new RuntimeException(); // 抛出异常,事务...} } 通过注入 DataSourceTransactionManager 来手动开启事务,手动事务,用于抛出异常被catch后,进行手动

2K20

运维经验:异常的特殊救急方法

Oracle异常时,将会影响CR重构、事务锁定、块清除等与紧密相关的数据库功能,甚至可能会导致数据库无法正常启动。...场景 Oracle 隐藏参数用于异常导致数据库无法正常工作的特殊恢复场景,主要包括:数据库打开、一致读和块清除、删除。...note 尽管offline_rollback_segments列表上的被Offline,Oracle仍然会读取这些来检查事务状态,在Online后应用Undo Record实现。...三 隐藏参数与删除 在一般情况下,Oracle 是不能被删除(Drop)的,这是因为中包含了活动事务(Active)信息,保存了事务恢复的记录。...为了保护数据的一致性,Oracle不允许删除有活动事务的。 在特殊情况下,将存在活动事务的添加到_corrupted_rollback_segments列表中,就可以忽略保护机制。

1.7K90

嵌套事务策略_内部事务会导致外部事务

1.外部起事务,内部起事务,内外都有Try Catch 内部出错:如果内部事务出错,内部和外部事物全部,外部之前的操作全部不存在,但是之后的操作继续执行。...外部出错:如果外部事物出错,内部和外部事物全部,外部之前的操作全部不存在,但是之后的操作继续执行。 注:如果内部的事务不起事务名称,内部如果出错,将会掉会话中的全部事务,而且报异常。...外部出错:内部和外部事物全部,外部之前的操作全部不存在,但是之后的操作继续执行。 4.外部起事务,内部不起事务,但没有Try Catch....内部出错:如果内部事务出错,内部和外部事物全部,外部之前的操作全部不存在,但是之后的操作继续执行。...内部出错:外部操作被正常执行,内部ROLLBACK操作前全部,之后的操作正常执行。 外部出错:出错操作之前的操作不会,出错之后的操作不执行,跳入Catch块中,内部事务不会

2.7K20

java 配置事务_Spring@Transactional事务

Spring中事务分为编程时事务和声明式事务,编程式事务:编程人员通过代码控制事务的开启、、提交,声明式事务:把事务的处理交给spring。...实现事务需要注意的问题: 1.@Transactional 注解可以被应用于接口定义和接口方法、类定义和类的 public 方法上。 2....3.默认情况下,spring会对unchecked异常进行事务;如果是checked异常则不回。...去掉方法体中的try catch (4)catch (Exception e) { throw e;}继续向上抛,目的是让spring事务捕获这个异常 除了以上注意的问题,说一下最近遇到的关于多数据源配置事务的问题...在项目中关于事务该配置的也配置了,需要注意的问题也注意了,但有的事务可以出现有的失败,最终问题所在: id相同的事务配置分别配置在两个application.xml文件中,如果多个application.xml

2.3K20

git commit

2.1 git reset --hard 丢弃最新的提交 代码提交后,需求发生变化导致之前提交的已经不合适,或者 代码提交后发现有严重bug,需要回可是使用这个命令: git reset --hard...tips: 1,HEAD^ 表示 最新提交HEAD位置往回数一个提交, 几个 ^ 就往回数几个提交; 2,HEAD~n 表示 新提交HEAD位置往回数n个提交 可以发现,reset 命令只能最新的提交...如果最后一次commit需要保留,而只想回之前的某次commit,reset命令可能就无法满足了。...总结: 最新的提交 :git reset 和 git rebase 命令都可以 中间某次提交: git rebase 可以, git reset 不可以 如果提交已经同步到远程仓库,需要使用git...push origin -f branch(分支名) 来将回也同步到远程仓库(master 分支谨慎使用 -f)

7.9K30
领券