在包中并行执行程序[重复]

Posted

技术标签:

【中文标题】在包中并行执行程序[重复]【英文标题】:Execute procedures in parallel within a package [duplicate] 【发布时间】:2017-08-16 13:30:30 【问题描述】:

有没有办法在一个包中并行运行程序? 我需要运行所有程序,但它们不必按顺序运行。 全部插入到一个表中,但每个过程使用不同的源。 我可以一次执行所有程序,使总运行时间等于最长运行程序的运行时间吗?

CREATE OR REPLACE PACKAGE BODY PKG_BODY AS

PROCEDURE PRC_ONE;
PROCEDURE PRC_TWO;
PROCEDURE PRC_THREE;

PROCEDURE PRC_RUN-INSERTS AS 
BEGIN


PRC_ONE;
PRC_TWO;
PRC_THREE;

END;

PROCEDURE PRC_ONE AS 
 INSERT INTO TBL_TARGET FROM TBL_SOURCE_ONE
END

PROCEDURE PRC_TWO AS 
 INSERT INTO TBL_TARGET FROM TBL_SOURCE_TWO
END

PROCEDURE PRC_THREE AS 
 INSERT INTO TBL_TARGET FROM TBL_SOURCE_THREE
END

END

【问题讨论】:

查看设置dbms_scheduler job chain,或使用dbms_parallel_execute 【参考方案1】:

您应该尝试执行 DBMS 并行执行。

DBMS_PARALLEL_EXECUTE

更多详情请点击以下参考链接

https://oracle-base.com/articles/11g/dbms_parallel_execute_11gR2

【讨论】:

以上是关于在包中并行执行程序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

并行执行 oracle PL/SQL [重复]

并行执行串行执行和并发执行

Jmeter应该同时执行查询,但同时查询不应该在并行线程中重复

并行的性能损失

多线程并行与分布式执行

testng多线程并行执行测试