在Oracle中,可以使用N个CPU创建多少个并行作业?

时间:2014-11-28 14:24:59

标签: oracle oracle11g parallel-processing query-optimization

在Oracle中,根据CPU核心/计数,可以创建多少个并行作业?此外,如果在所有并行作业中启用并行DML和DDL,会产生什么影响。

我有200多个不同的独立程序要执行。目前他们处于串行模式。我正在测试在Parallel作业中运行它们。但我不确定如何决定应创建多少并行作业。另外,我必须在具有不同CPU核心数的不同服务器中重复执行此操作。现在,我在QUAD核心中并行运行了4个作业。此外,当前过程在查询中已经有PARALLEL(8)提示,由于并行作业,CPU会过载。

2 个答案:

答案 0 :(得分:1)

这取决于你的工作是做什么的。作为一个非常非常粗略的经验法则,我不希望超过2 * N个会话(包括由任何并行DML启动的并行从属)。如果您的会话受CPU限制,那么限制我的会话要低得多。实际上,与其他任何事情一样,您需要在您的环境中进行基准测试,并根据您的环境进行调整。

答案 1 :(得分:0)

这是你只能通过反复试验确定的事情之一。规则可能是一个指导,但有很多参数在这里发挥作用。有一个很好的方法来控制你的并行度,设置监控,你可以从中详细分析CPU使用,并测试!

另外:测试,测试,测试。