Use UNDO segments rather than rollbacks http://www.oracle.com/technology/oramag/oracle/05-jul/o45tuning.html
and/or Dig on Steve Adams site for a script called commit.every() http://www.ixora.com.au/
eg
begin
commit.every()
your code here
end;
bob
"Oracle error messages being what they are, do not highlight the correct cause of fault, but will identify some other error located close to where the real fault lies." -- //www.freelists.org/webpage/oracle-l