Jak již bylo uvedeno v mých komentářích, myslím, že PARALLEL
nedává to žádný smysl (ale nejsem si tím jistý) a spouštění každého oddílu jeden po druhém je také zbytečné, když kopírujete celou tabulku.
Každopádně váš kód by měl fungovat, když ho napíšete takto:
FOR i in products_tab.first .. products_tab.last LOOP
EXECUTE IMMEDIATE 'ALTER SESSION FORCE PARALLEL DML PARALLEL 24';
EXECUTE IMMEDIATE 'INSERT /*+ APPEND PARALLEL(24) */ INTO tbla2
("ID", datetime, ...)
SELECT *
FROM tbl1 PARTITION ('||products_tab(i).partition_name||)';
COMMIT;
END LOOP;
Neznám vaše požadavky, ale možná Výměna oddílů a pododdílů může být pro vás možností.