加快回滚速度??
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分钟 锁越来越多 只能被迫重启。
锁释放
问题:当有一个大事务需要回滚,如何加快回滚速度以释放资源?? 事务恢复检查 fast_start_parallel_rollback 该参数的设置, 这个时候所有前台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]