ORA-1555:快照太旧:回滚段号

Sac*_*iya 3 oracle

关于ORA-1555的任何想法:快照太旧:回滚段号我收到此错误,似乎没有任何错误.请说明可能出现的条件以及如何避免?

Rob*_*ebe 5

频繁提交可能是ORA-1555的原因.这一切都与读取一致性有关.您启动查询的时间oracle会记录之前的图像.因此,您的查询结果不会被同时发生的DML(您的大事务)所改变.前映像使用回滚段来获取在拍摄前映像之后更改的数据值.通过提交您的大事务,您告诉oracle可以覆盖该事务的回滚数据.如果您的查询需要覆盖的回滚段中的数据,则会出现此错误.您提交的越少,您所需的回滚数据被覆盖的可能性就越小.

ORA-1555的一个常见原因是一个完成这一过程的过程:表上的游标,循环记录,更新/删除同一个表并提交每个x记录.

正如guigui所说:让回滚段增长以包含整个事务