oracle数据泵导出报错ora-31693,ORA-02354,ORA-01555

oracle数据库导出大表报错:

    

报错原因:
在执行导出或查询某张表期间,有其它用户对该表原有数据进行了修改。
修改被提交后,oracle为保证一致性读,会把这些数据保留在UNDO表空间。
如果导出或者查询时间过长,undo表空间会根据undo表空间大小以及undo_retention保留时间,覆盖掉这部分旧数据。这样执行导出或者查询就无法获得一致性读,从而报错:ORA-01555

解决方法:
1.如果undo表空间过小需要增加undo表空间容量
alter tablespace undotbs1 add datafile '/u01/app/oracle/oradata/orcl/undotbs101.dbf' size 5g;
2.增加undo_retention保留时间
alter system set undo_retention=7200;

相关文章

文章浏览阅读773次,点赞6次,收藏9次。【代码】c# json字符...
文章浏览阅读8.7k次,点赞2次,收藏17次。此现象一般定位到远...
文章浏览阅读2.8k次。mysql脚本转化为oracle脚本_mysql建表语...
文章浏览阅读2.2k次。cx_Oracle报错:cx_Oracle DatabaseErr...
文章浏览阅读1.1k次,点赞38次,收藏35次。本文深入探讨了Or...
文章浏览阅读1.5k次。默认自动收集统计信息的时间为晚上10点...