Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

51

积分

0

好友

20

主题
1#
发表于 2015-1-6 13:26:17 | 查看: 3479| 回复: 2
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分钟 锁越来越多 只能被迫重启。
锁释放


问题:当有一个大事务需要回滚,如何加快回滚速度以释放资源??
2#
发表于 2015-1-6 13:41:03
事务恢复检查 fast_start_parallel_rollback 该参数的设置,

回复 只看该作者 道具 举报

3#
发表于 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操作 ,因为一般没有其他人拖后腿, 所以一般较快

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-6-14 13:46 , Processed in 0.073211 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569