Re: PARALLEL hint ignored in PL/SQL block?
Date: Thu, 31 Jul 2008 20:16:37 +0200 (CEST)
Message-ID: <57945.213.162.65.110.1217528197.bloek@pwebmail6.utanet.at>
Hi Vladimir,
> 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,
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
-- http://www.freelists.org/webpage/oracle-lReceived on Thu Jul 31 2008 - 13:16:37 CDT