有两个原因
1、你的事存储过程中的事务太大了,也就delete、update、insert涉及的数据量太大了
2、你的回滚段比较小
因些解决方法也有两个:
1、把你的大事拆分成小事务,也就是多commit几次。
2、建一个大一点回滚段给大的事务用。
  比如:
 CREATE ROLLBACK SEGMENT rbs_big
  TABLESPACE rbs
 STORAGE
 ( 
  INITIAL 512K
  NEXT 512K
  MAXEXTENTS UNLIMITED
  );
  然后你在存储过程begin后的第一行加入如下一行:
 dbms_transaction.use_rollback_segment('rbs_big');一切便ok了。