Oracle默认并行度引起数据库挂起

上周六现场数据库运维厂家反馈,有一个实例hang住了,说是两条SQL引起的,操作系统上报too many open files的错误。看了一下数据库报告,主要是gc domain validation,latch: parallel query alloc buffer这两个等待事件。

发现有两条SQL执行很多次,负载占了数据库的一半。分析SQL,使用了Oracle默认的并行度,哪并行度到底是多少呢?
单实例 = PARALLEL_THREADS_PER_CPU x CPU_COUNT
RAC = PARALLEL_THREADS_PER_CPU x CPU_COUNT x INSTANCE_COUNT
( 这些参数都是可以通过 show parameter查到的)
而现场的配置是:2乘以192乘以2=768,换句话说执行一条SQL,产生了768个进程,同时一起执行几次,基本上耗尽数据库服务器资源。

使用并行的时候要注意:一定是OLAP类的,并发度非常低,使用不频繁的,且不要在上班时间执行的。并行的时候一定要指定并发度。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值