Mille 发表于 2015-1-6 13:26:17

加快回滚速度??

Oracle 9208
现象:

A用户执行delete 删除一个上千万行表t。  

sql>delete t;


这个时候所有前台update 这个表t 都出现了等待。
处理过程:
1 alter system kill session A用户的会话;
2 kill -9 spid
锁依然不释放
所有前台update 这个表t 还是要等待。
3 尝试 flush buffer_cache
alter session set events='immediate trace name flush_cache';
锁依然不释放
所有前台update 这个表t 还是要等待。

4 。重启数据库
最后等了20分钟 锁越来越多 只能被迫重启。
锁释放


问题:当有一个大事务需要回滚,如何加快回滚速度以释放资源??

typ281 发表于 2015-1-6 13:41:03

事务恢复检查 fast_start_parallel_rollback 该参数的设置,

Maclean Liu(刘相兵 发表于 2015-1-11 15:13:32

这个时候所有前台update 这个表t 都出现了等待。
处理过程:
1 alter system kill session A用户的会话;
2 kill -9 spid
锁依然不释放
所有前台update 这个表t 还是要等待。
3 尝试 flush buffer_cache
alter session set events='immediate trace name flush_cache';


==》 到这之前 可以通过脚本监控回滚 过程

这里smon 负责 recovery dead transaction ,但smon 及其slave工作的如何, 目前你的帖子里看不出来


实例重启后, smon做transaction rollback操作 ,因为一般没有其他人拖后腿, 所以一般较快
页: [1]
查看完整版本: 加快回滚速度??