暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ORA-01555: snapshot too old: rollback segment number 36 with name "_SYSSMU36_2323805826$" too small

原创 Lin 2022-09-28
527

ORA-01555: snapshot too old: rollback segment number 36 with name “_SYSSMU36_2323805826$” too small

导出EXPDP导出数据提示如下报错:

ORA-31693: Table data object "PHIS_EMR"."EMR_RECORD_TEXT" failed to load/unload and is being skipped due to error: ORA-02354: error in exporting/importing data ORA-01555: snapshot too old: rollback segment number 36 with name "_SYSSMU36_2323805826$" too small

原因分析:

在执行导出或查询某张表的时候,又有其它用户对该表进行了行修改。修改提交后,通常UNDO中会保留这些旧的资料,用来保证数据一致性读。如果UNDO保留时间到了,并且UNDO中无足够空间,这些在UNDO中的旧资料就会被覆盖。那些依靠这些数据的操作就无法获得一致性读,从而报错。

解决方法:

修改undo_retention、undo tablespace size到合适的大小,或者选择数据库空闲时间段执行expdp作业。

`SQL> show parameter undo

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      AUTO
undo_retention                       integer     1800
undo_tablespace                      string      UNDOTBS1
`

修改语句:

SQL> alter system set undo_retention=36000 scope=both;         System altered.

最后修改时间:2024-07-19 10:05:36
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论