Re: PARALLEL hint ignored in PL/SQL block?

  • From: "jaromir nemec" <jaromir@xxxxxxxxxxxx>
  • To: <vbarac@xxxxxxxxxxxx>
  • Date: Thu, 31 Jul 2008 20:16:37 +0200 (CEST)

Hi Vladimir,

> When following DML is executed standalone
>
> Insert into tableA select /*+ parallel(B) parallel(C) */ * from
> tableB@link B, tableC@link C where <some conditions>;
>
> tableB and tableC are accessed in parallel and everything is fine.
>
> However, if this is executed within PL/SQL block (or within stored
> procedure), tableB and tableC are not accessed in parallel. What may be
> the reason for this behavior?

Some hints that may help:

a) Please verify that you use the hint comments in PL/SQL (I expect that
you do so). New versions of PL/SQL "eat" ordinary comments.

b) Verify the Select issued on the remote DB. Are parallel hints passes
correctly, i.e. with right aliases?

You will see something like this on the remote DB
SELECT / *+ PARALLEL("A1",3) PARALLEL("A2",3) * /
..... FROM table "A1" ....

c) as a possible workaround you may try to run the insert in parallel,
something like
insert /*+ APPEND PARALLEL(i,3) */ into table i
select ....
Don?t forget to enable parallel DML.
This brings me to the question isn't it possible that you PL/SQL session
hat disabled parallel query per default?

Regards,

Jaromir



--
//www.freelists.org/webpage/oracle-l


Other related posts: