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