プライマリ・コンテンツに移動
Oracle® Database VLDBおよびパーティショニング・ガイド
12c リリース1 (12.1)
B71291-10
目次へ移動
目次
索引へ移動
索引

前
次

パラレルDMLのトランザクション制限

DML操作をパラレルで実行するには、パラレル実行コーディネータがパラレル実行サーバーを取得し、パラレル実行サーバーがそれぞれのパラレル・プロセス・トランザクションで作業の一部を実行します。

次の条件に注意してください。

コーディネータにも独自のコーディネータ・トランザクションがあり、独自のロールバック・セグメントが対応しています。ユーザーレベルのトランザクション原子性を確保するには、コーディネータは2フェーズのコミット・プロトコルを使用して、パラレル・プロセス・トランザクションで実行される変更をコミットします。

パラレルDMLが有効になっているセッションでは、セッションのトランザクションが特殊なモードになる場合があります。トランザクションで任意のDML文が表をパラレルで変更した後、そのトランザクションでは同じ表に対してシリアル問合せ、パラレル問合せまたはDML文で再びアクセスすることはできません。パラレル変更の結果は、そのトランザクション内では確認できません。

同じトランザクション内でパラレルで変更された表に、シリアル文またはパラレル文でアクセスしようとすると、拒否され、エラー・メッセージが返されます。

パラレルDMLが有効になっているセッションでPL/SQLプロシージャまたはブロックが実行される場合、プロシージャまたはブロックの文にはこのルールが適用されます。