欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle exp导出时出现ORA-01555和ORA-22924的解决方案

程序员文章站 2022-05-16 18:26:27
...

现场报了一个问题,说是做逻辑备份时出现错误,导致备份的数据不完整,一张数十G数据量的表只导出了不到1G。错误信息如下:EXP-0

现场报了一个问题,说是做逻辑备份时出现错误,导致备份的数据不完整,,一张数十G数据量的表只导出了不到1G。错误信息如下:

EXP-00056: 遇到 Oracle 错误 1555
ORA-01555: snapshot too old: rollback segment number with name "" too small
ORA-22924: snapshot too old

查了MOS,官方给出如下说明:

原因为LOB段损坏,使用如下方法来定位损坏的LOB值所在记录的rowid

执行完以后,根据表中存储的rowid值到出错的表中查出对应的记录。如果使用PL/SQL Developer,能看到对应的LOB字段值显示value error。将该值清空或删除这条记录可以解决,比如:update TABLE1 set COL1=empty_blob() where rowid='xxxxxxx';