在大型数据库中,一个大型操作的失败代价是比较高的,严重时甚至会引起数据库挂起。尤其在KILL大型事务之前检查事务究竟有多大可能是必要的,同时我们也需要知道回滚已经进行了多少程度。 V$transaction,v$session关联得到事务大小。 Select t.used_ublk from v$transaction t v$session s Where t.ses_addr=s.saddr and s.sid=&sid 在事务失败或者kill session之后,持续的监控该语句结果来估计回滚进度。如果观察到used_ublk几乎不动或者回滚非常慢,可以确定以下是否由于并行恢复引起(并行恢复有时会引起数据库恢复挂起)。在并行恢复情况下,Smon将会抓住TX lock,同时应该存在某些PS lock PX进程占用大量的CPU资源。V$fast_start_servers和v$fast_start_transaction两张视图表示是否执行了并行恢复。如果发现并行恢复很慢,可以尝试把并行恢复关掉看看是否可以加快rollback。alter system set fast_start_parallel_rollback = false 该语句关掉并行rollback 改用串行化。 同样如果是串行化ROLLBACK,同时CPU资源尚可的话,可以采用并行恢复的方式来加快回滚。如果整体系统已经基本显示挂住,可以shutdown数据库起用并行rollback。并行恢复可以在v$session_wait中看到很多PX进程等待,Smon进程作为协调进程同时在等待PX进程完成。 数据库关闭或者kill shadow process之后,在v$transaction中将不能发现事务信息。这时候在v$fast_start_transaction中有事务信息。
关于ORACLE大型事务回滚的几个点
来源:这里教程网
时间:2026-03-03 19:00:21
作者:
编辑推荐:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- Oracle 标准审计功能及开启
Oracle 标准审计功能及开启
26-03-03 - 研究Oracle 延迟块清除(defered block cleanout)
- ORACLE下一次奇怪的job停止问题分析及处理
ORACLE下一次奇怪的job停止问题分析及处理
26-03-03 - Oracle标准审计,关闭AUDIT
Oracle标准审计,关闭AUDIT
26-03-03 - Oracle 在查询的where子句中,索引的索引列/前导列是否作为单个表谓词提供列进行匹配
- Oracle 标准审计,设置AUDIT_SYSLOG _LEVEL参数
Oracle 标准审计,设置AUDIT_SYSLOG _LEVEL参数
26-03-03 - 一次异常宕机后数据库启动报ora-600[4000]错误恢复
一次异常宕机后数据库启动报ora-600[4000]错误恢复
26-03-03 - 数据库数据恢复-Oracle数据库truncate table如何恢复数据?
- 创作新纪元:知乎、阅文加码AI大模型,撬动创作者经济
创作新纪元:知乎、阅文加码AI大模型,撬动创作者经济
26-03-03 - 一次dbms_metadata.get_ddl时报ORA-06502和ORA-06512错误
