Re: PARALLEL hint ignored in PL/SQL block?
Date: Thu, 31 Jul 2008 20:16:37 +0200 (CEST)
> When following DML is executed standalone
> Insert into tableA select /*+ parallel(B) parallel(C) */ * from
> tableB_at_link B, tableC_at_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:
- 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.
- 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,
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?
JaromirReceived on Thu Jul 31 2008 - 13:16:37 CDT