0


ORA-01555快照过旧报错

一、使用kettle从源端数据库抽到目标端数据库时,当数据量过大时,会报ORA-01555快照过旧报错

二、产生的原因:

 (1):sql执行比较久,需要优化sql

 (2):回滚段过小

 (3):undo保存时间过短

三、执行步骤:

 1:查看sql语句,是否可以优化

 2:检查回滚段大小

 3:查看undo_retention参数

 打开plsql命令窗口,输入:show parameter undo_

Undo_retention:是undo数据保存的时间,是一个目标期望值,单位为秒,默认为900s

用户设置出这个值之后,Oracle内部会尽量保证将Undo数据保留超过undo_retention设置的时间,但是如果Undo使用紧张,没有额外的方法,那么这个时间段也是不能保证的,这个时间如果设置的比较小,数据很快就覆盖了,那么执行较长时间的查询语句就会报ORA-01555的错误。

修改语句:

alter
system 
set
undo_retention=7200;

修改成功后,执行 show parameter undo_,查看时间已变

标签: 数据库 sql

本文转载自: https://blog.csdn.net/qq_45087635/article/details/127767040
版权归原作者 哈哈的人生 所有, 如有侵权,请联系我们删除。

“ORA-01555快照过旧报错”的评论:

还没有评论