Oracle回滚导致系统响应异常缓慢

症状:
1)早上决策运算过程没有正常执行;
2)大量IO占用,且未出现下降;
3)客户端几乎无法连接数据库;
4)通过EM查看到有大量由于snmp、sysman在执行相关语句的阻塞。

疑问:
1)为毛客户端连接全部KILL后,系统仍然有大量IO;
2)重启后,问题仍存在,现象一样;
3)为什么会有那么 多回滚?

解决:
由于是数据库本身在解决数据一致性问题,所以偿试KILL snmp、sysman进程,重启数据库后问题仍然存在,这是因为数据库本身要保证数据库一致性,所以不管怎么杀进程,只要重启smon进程仍会再次执行。
再有同事反馈,在前一个晚上执行了一条大表数据插入语句,最终却没有正常提交,后续的决策运算进行了类似操作,尽管不同表,但由于IO已经几乎被消耗掉后,造成的大量的IO等待;
另一方面,系统本身的redoLOG设置明显不足也是另一个诱因。
现在能进行的两种办法,一是让系统加快回滚速度,另一种是没有时间等待回滚,直接停止。
这里采用后一种办法。

SQL> shutdown immediate;
SQL> startup nomount;
SQL> alter system set fast_start_parallel_rollback=FALSE sope=spfile;
SQL> shutdown immediate;
SQL> startup;

另一种办法是加快回滚速度,需要设置回滚速度参数

SQL> ALTER SYSTEM SET FAST_START_PARALLEL_ROLLBACK = HIGH

查看回回滚进度

SQL> select * from v$transaction;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值