普通表迁移到分区表

     近期根据老大要求对公司ERP生产库的性能调整和优化,由于ERP生产库之前一直是各个系统开发人员进行管理,没有专门的DBA进行调整,索引,表结构什么的相对来说还是比较混乱的,首先从AWR就可以看到很多问题了。

     上周写了个调整方案,首先是将其中一个大表进行分区,上周末抽时间进行了分区转换后,昨天下午生产库的几个应用都连接不上去了,查了查错误原因,是因为进程太多了,想想,并没有调整其它数据库参数,而且问了开发人员应用也没有做变动。于是查了下大量进程,其中有很多进程名为oracle.exe(p01......),估计是执行了大量的并发操作导致的并发进程。

     于是又做了下AWR,发现TOP 5其中PX 等待严重,看看SQL STATICS,发现执行时间最长的是普通表转换为分区表的表,再将SQL语句询问开发人员后,确认了该SQL语句的执行会进行跨分区访问,而之前说查询的话是会圈定分区范围的,看来尽信开发人员不能啊。。。可是这个和大量并发进行产生有什么关系呢,跨分区也不会导致大量并发进程出现啊,因为这个应用用的人并不多,除非启用了表并发,一查看表的属性,果然,表的PARALLEL属性是ENABLE,并且DEGREE 是8,当初是考虑提升表性能,但是跨分区导致了访问性能的大负荷。于是通知业务人员关掉应用,进程立马降下来了,同时关闭表并发后无线程超出。所有应用正常访问。

    后续处理,看来还是需要一个全局索引的,加了全局索引后,性能提升明显。

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

转载于:http://blog.itpub.net/7765728/viewspace-741623/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值