在做数据库迁移时,使用expdp导出数据库时,如果数据库表比较大,数据变更比较频繁,在导出时经常会遇到如下的错误。 Export: Release 19.0.0.0.0 - Production on Sat Aug 3 21:00:01 2024 Version 19.9.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. ;;; Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Starting "SYS"."SYS_EXPORT_SCHEMA_01": "/******** AS SYSDBA" directory=DATA_PUMP_DIR dumpfile=hr7_20240803210001.dump logfile=hr7_20240803210001.log schemas=hr COMPRESSION=all Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_INDEX/INDEX_STATISTICS Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS Processing object type SCHEMA_EXPORT/STATISTICS/MARKER Processing object type SCHEMA_EXPORT/USER Processing object type SCHEMA_EXPORT/SYSTEM_GRANT Processing object type SCHEMA_EXPORT/ROLE_GRANT Processing object type SCHEMA_EXPORT/DEFAULT_ROLE Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA Processing object type SCHEMA_EXPORT/DB_LINK Processing object type SCHEMA_EXPORT/TYPE/TYPE_SPEC Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE Processing object type SCHEMA_EXPORT/TABLE/TABLE Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT Processing object type SCHEMA_EXPORT/TABLE/COMMENT Processing object type SCHEMA_EXPORT/FUNCTION/FUNCTION Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE Processing object type SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE Processing object type SCHEMA_EXPORT/VIEW/VIEW Processing object type SCHEMA_EXPORT/VIEW/GRANT/OWNER_GRANT/OBJECT_GRANT Processing object type SCHEMA_EXPORT/TYPE/TYPE_BODY Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX Processing object type SCHEMA_EXPORT/TABLE/INDEX/FUNCTIONAL_INDEX/INDEX Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT Processing object type SCHEMA_EXPORT/TABLE/TRIGGER ORA-31693: Table data object "HR"."H_RETS" 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 5 with name "_SYSSMU5_4196806562$" too small一般遇到这种情况,有两种情况,一种是表确实非常大,100,200GB,并且这个表数据变更比较频繁。另一种情况就是,表有 LOB的,undo_retention定义的时间不准确,因此有 ORA-01555: snapshot too old: rollback segment number 5 with name "_SYSSMU5_4196806562$" too small的错误。
SQL> show parameter undo; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ undo_management string AUTO undo_retention integer 900 undo_tablespace string UNDOTBS1 SQL> select max(maxquerylen) from v$undostat; MAX(MAXQUERYLEN) ---------------- 16331 SQL> select retention from dba_lobs where owner='<SCHEMA_NAME>' and table_name='<TABLE_NAME>'; RETENTION ---------- 900 我们看到保留时间显示为900秒(15分钟),与当前的UNDO_retention相同,但最大查询长度为16331秒。创建LOB时,RETENTION的实际设置由UNDO_RETENTION当前的设置定义,这段时间不够长。解决方法:
1. 修改当前数据库的UNDO_RETENTION 参数值:
2. 修改 LOB retention值 ,使其大于尺寸过小的保留参数
3. 再次查询lob保留情况,以验证更改是否已生效:
4. 再次执行导出。另一种情况,当读取的一致性映像在撤消表空间中不可用时,会报告ORA-1555错误。当撤消记录没有保留足够的时间(即Undo_RETENTION设置不足)和/或撤消表空间中没有足够的空间在所需的时间内保留撤消记录时,就会发生这种情况。解决方案: 1) 第一步是确保在导出的整个过程中保留读取的一致图像。增加UNDO_RETENTION参数,以覆盖导出的整个持续时间和/或高于flashback_time或flashback_scn指定的持续时间,直到导出操作结束。
SQL> select max(maxquerylen) from v$undostat;
MAX(MAXQUERYLEN)
----------------
16331 SQL> show parameter UNDO_RETENTION SQL> alter system set UNDO_RETENTION=<value in seconds>
如果使用FLASHBACK_TIME或FLASHBACK_SCN参数调用EXPDP,请注意。完成导出操作后,您可以将其还原为原始值。
2) 增加undo表空间大小,使其可以在增加的Undo_RETENTION持续时间内保留撤消记录。
SQL> alter tablespace UNDOTBS1 add datafile '/oradata/undo02.dbf' size 100m autoextend on;
编辑推荐:
- 第8期 expdp ORA-31693 ORA-02354 ORA-0155503-03
- Oracle向YashanDB迁移的丝滑体验03-03
- 使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试03-03
- 【YashanDB知识库】23.1.3.101版本创建物化视图coredump03-03
- 【YashanDB知识库】v$instance视图中实例角色含义不明确03-03
- 【YashanDB知识库】yac修改参数后关闭数据库hang住03-03
- expdp ORA-39006 ORA-3921303-03
- 【YashanDB知识库】汇聚库23.1环境发生coredump03-03
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- Oracle向YashanDB迁移的丝滑体验
Oracle向YashanDB迁移的丝滑体验
26-03-03 - 使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试
- 【YashanDB知识库】update/delete未选中行时,v$transaction视图没有事务
- 【YashanDB知识库】virt虚拟内存远大于res内存问题分析
【YashanDB知识库】virt虚拟内存远大于res内存问题分析
26-03-03 - 【YashanDB知识库】yasdb jdbc驱动集成druid连接池
【YashanDB知识库】yasdb jdbc驱动集成druid连接池
26-03-03 - 【YashanDB知识库】yasdb jdbc驱动集成BeetISQL中间件
- 【YashanDB知识库】YashanDB的JDBC/OCI驱动如何设置字符编码
- 【YashanDB知识库】服务端是GBK编码,导致从22.2.12.100升级到22.2.13.100失败问题
- 简单查看oracle历史会话图表
简单查看oracle历史会话图表
26-03-03 - MySQL生产环境迁移至YashanDB数据库深度体验
MySQL生产环境迁移至YashanDB数据库深度体验
26-03-03
