Error: ORA-01555: 快照过旧

错误信息:

Error: ORA-01555: 快照过旧: 回退段号 47 (名称为 "_SYSSMU47_1286521707$") 过小

 

可能原因:

SQL语句执行时间太长,或者UNDO表空间过小,或者事务量过大,或者过于频繁的提交,导致执行SQL过程中进行一致性读时,SQL执行后修改的前镜像(即UNDO数据)在UNDO表空间中已经被覆盖,不能构造一致性读块(CR blocks)。

 

解决:

(1)增加UNDO表空间大小

(2)增加undo_retention 时间,默认只有15分钟

(3)优化出错的SQL,减少查询的时间,首选方法

(4)避免频繁的提交

你可能感兴趣的:(error)