2011-12-02 13 views
2

私はシナリオを持っていました。私は一連の異なるOracleプロシージャを並行して呼び出す必要がありました。このプロシージャは、コミットされていないトランザクションを持つ同じ初期コンテキストを共有する必要があります。私は、これらの並列プロセスの間に矛盾を読んでしまう危険で、親トランザクションをコミットできません。 PL/SQLでも可能ですか?並列ネストされたトランザクションを実行することはできますか?

答えて

-1

私が知っている限り:いいえ。

DBMS_JOBおよびDBMS_SCHEDULERは、Oracleプロシージャを並列で実行するために使用できますが、独自のセッションで実行します。

0

DBMS_XAパッケージを使用すると、「PL/SQLを使用してSQL * Plusセッションまたはプロセス間でトランザクションを切り替えたり共有する」ことができます。

Oracle-Baseには、パッケージの使用方法の良い例があります。

(しかし、あなたの目標は、あなたの代わりに、通常の文レベルの並列実行を使用する必要があり、パフォーマンスを向上させるために並列処理を使用する場合。)

関連する問題