一次Row Cache Lock问题处理过程

环境 操作系统:AIX小机  5.3.0.8       数据库:Oracle 10G R2 RAC
 现象:
      数据库奇慢,插入70万条数据到临时表得1个小时还没完成,SELECT .... FROM WHERE .....语句逻辑简单
处理过程:
      先查动态性能视图v$session_wait发现很多recyclebin的等待、row cache lock 等待、libraray cache lock等待等等;
      查alert日志什么错误都没发现;
      生成awr,Top 5发现有row cache lock等待和解析执行时间倒序(从大到小的)语句delete recyclebin ...,如下图:
然后就做了实验,一次少插入点,逐渐的增多,但是插入了好长时间还没插入完70W条数据,最后根据动态性能视图和awr报告,关闭了recyclebin alter system set recyclebin=FLASE,等再插入数据的时候数据库就报错了,说是表空间不足,然后我就
1:purge了回收站:purge recyclebin;
2:增加表空间大小,
     alter tablespace t_space add datafile '/u01/oradata/rrc_t06.dbf' size 30720M auto extend off;
     alter tablespace t_space add datafile '/u01/oradata/rrc_t07.dbf' size 30720M auto extend off;
等了10分钟再去插入数据时候居然很开的插进去了,插入成功,且速度很快。
 
总结:
      在没有purge回收站内容时候插入一点数据,oralce 自动维护回收站,删除回收站一部分进入表空间比较早的object,故速度很慢也不会报错,且等会就能先前不能插入的数据插入到表中,但我关闭回收站后插入数据oralce不能自动清理回收站内的object,就会报错说是表空间不足,然后再purge recyclebin和增加数据文件后渐渐的就可以把数据插入到数据库中,但是还有一个问题我比较疑惑:问什么在报表空间不足的时候我查询表空间情况居然还没满,难道此用户下的对象(recyclebin里的)所占空间不在表空间里显示出来?
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16400082/viewspace-706628/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16400082/viewspace-706628/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值