Just do it in batches of (say) 1000 When fetching do 'bulk collect limit 1000'. hth connor On 5/12/05, cichomitiko gmail <cichomitiko@xxxxxxxxx> wrote: > Hi all, > environment: > Oracle 8.1.7.4.0 > OS Solaris 8 > We have a procedure that fails with the fallowing error: >=20 > ORA-04030: out of process memory when trying to allocate bytes (,) > ORA-06512: at "PKG_PP", line 822 > ORA-04030: out of process memory when trying to allocate bytes (,) > ORA-06500: PL/SQL: storage error > ORA-06512: at line 4 >=20 > The procedure is using only FORALL clauses, no BULK COLLECT. >=20 > It seems that the forall clause is causing the error. How can we limit th= e > input collection in this case? >=20 > FORALL e in 1..cont_tot > delete PUSH_LIST_DELIVERY where > ID_MSG_LIST=3Dt_ID_MSG_LIST(e); > end if; >=20 > Regards > Dimitre >=20 > -- > //www.freelists.org/webpage/oracle-l >=20 --=20 Connor McDonald =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D email: connor_mcdonald@xxxxxxxxx web: http://www.oracledba.co.uk "Semper in excremento, sole profundum qui variat" -- //www.freelists.org/webpage/oracle-l