Data Pump Export 数据泵导出因ORA-31693 ORA-02354 和 ORA-01555 错误且没有LOB损坏而失败 (Doc ID 1507116.1)
Data Pump Export Fails With ORA-31693 ORA-02354 and ORA-01555 Errors And No LOB Corruption (Doc ID 1507116.1)
APPLIES TO:
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Information in this document applies to any platform.
SYMPTOMS
You are exporting your applications database using Data Pump (expdp), and all is exporting fine, except one table fails to export with the following errors:
您正在使用数据泵(expdp)导出应用程序数据库,并且一切正常,但一个表无法导出却出现以下错误:
ORA-02354: error in exporting/importing data
ORA-01555: snapshot too old: rollback segment number 154 with name "<ROLLBACK_SEGMENT_NAME>" too small
You suspected that you may have had LOB corruption and followed the steps from Note:452341.1 or Note:787004.1, but no corruption is found in the LOB.
您怀疑您可能已发生LOB损坏,并遵循了Note:452341.1或Note:787004.1中的步骤,但是在LOB中未发现损坏
CHANGES
CAUSE
The LOB Retention is not defined properly. LOB保留的定义不正确
This is confirmed by the queries: 通过查询确认
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
We see the retention comes back showing 900 seconds (15 minutes) which is the same as the current UNDO_RETENTION, but the maxquery length is 16331 seconds.
我们看到保留时间返回,显示为900秒(15分钟),与当前的UNDO_RETENTION相同,但是maxquery的长度为16331秒
When the LOB was created, the actual setting for RETENTION was defined by the current setting for UNDO_RETENTION.
创建LOB时,RETENTION的实际设置由UNDO_RETENTION的当前设置定义
This time is not long enough. 这个时间还不够长。
SOLUTION
1. Modify the current UNDO_RETENTION for the database:
1. 修改数据库的当前UNDO_RETENTION
SQL>ALTER SYSTEM SET UNDO_RETENTION = 16500 scope=both sid='*';
Note: For versions =< 10.2.0.5, an instance restart is required because LOB retention does not change when undo_retention is changed. See further details from Document 563470.1 which shows that retention is not changed until after a restart.
注意:对于版本= <10.2.0.5,需要重新启动实例,因为更改undo_retention时LOB保留不会更改。请参阅文档563470.1中的更多详细信息,该文档显示保留直到重新启动后才更改。
2. Modify the LOB retention to become greater than the undersized retention parameter following the steps from Note:563470.1
2. 按照注:563470.1中的步骤,修改LOB保留,使其大于大小不足的保留参数。
SQL> alter table <SCHEMA_NAME>.<TABLE_NAME> modify lob(<LOB_COLUMN_NAME>) (pctversion 5);
Table altered. SQL> alter table <SCHEMA_NAME>.<TABLE_NAME> modify lob(<LOB_COLUMN_NAME>) (retention);
Table altered.
3. Query the lob retention again to verify that the change has taken hold:
3.再次查询lob保留,以确认更改已生效:
SQL> select retention from dba_lobs where owner='<SCHEMA_NAME>' and table_name='<TABLE_NAME>'; RETENTION
----------
16500
4. Perform the export again. 再次执行导出。
REFERENCES
NOTE:787004.1 - Export Receives The Errors ORA-1555 ORA-22924 ORA-1578 ORA-22922
NOTE:563470.1 - Lob retention not changing when undo_retention is changed
NOTE:452341.1 - ORA-01555 And Other Errors while Exporting Table With LOBs, How To Detect Lob Corruption.
Data Pump Export 数据泵导出因ORA-31693 ORA-02354 和 ORA-01555 错误且没有LOB损坏而失败 (Doc ID 1507116.1)的更多相关文章
- data pump(数据泵)
先给出oracle给出的一个定义: “Oracle Data Pump technology enables very high-speed movement of data and metadata ...
- 针对数据泵导出 (expdp) 和导入 (impdp)工具性能降低问题的检查表 (文档 ID 1549185.1)
针对数据泵导出 (expdp) 和导入 (impdp)工具性能降低问题的检查表 (文档 ID 1549185.1) 文档内容 适用于: Oracle Database – Enterprise Edi ...
- 数据泵导出/导入Expdp/impdp
一下转自 http://blog.csdn.net/jionjionyoushen/article/details/6789686 数据泵导出/导入Expdp/impdp Oracle 10g引入了D ...
- Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)
<Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...
- Oracle基础 数据泵导出/导入Expdp/impdp(转)
一.EXPDP和IMPDP使用说明 Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用 1)实现逻辑备份和逻辑恢复. 2 ...
- 实验:Oracle数据泵导出导入之序列问题
今天同事提出了一个问题: 使用数据泵expdp导出1个schema,有个表主键是触发器自增的id,导入测试库测试时,发现表里的数据比自增序列的值要大.导致插入数据报错. 最终结论是: 由于数据库先进行 ...
- 数据泵导出报ORA-01555 ORA-22924
最近对某数据库执行数据泵导出操作时碰到如下错误:Processing object type DATABASE_EXPORT/SCHEMA/JOBProcessing object type DATA ...
- 使用Unified Auditing Policy审计数据泵导出操作
1.创建审计策略 SQL> alter session set container=pdb1; SQL> create or replace directory dumpdir as '/ ...
- 数据泵导出报错ORA-31693 ORA-02354 ORA-01466
1.Oracle数据泵导出schema时有报错: Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - P ...
随机推荐
- python函数中参数的传递
Python唯一支持的参数传递方式是『共享传参』(call by sharing)多数面向对象语言都采用这一模式,包括Ruby.Smalltalk和Java(Java的引用类型是这样,基本类型按值传递 ...
- JavaScript中常用的字符串方法
1. charAt(x) charAt(x)返回字符串中x位置的字符,下标从 0 开始. //charAt(x) var myString = 'jQuery FTW!!!'; console.log ...
- JavaScript定时器(Timer)
版权声明:本文为博主原创文章,未经博主允许不得转载.https://www.cnblogs.com/gaoguowen/p/11119088.html 什么是定时器 简单来说就是在一段时间间隔后执行一 ...
- MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题
排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题 By:授客 QQ:1033553122 测试环境 win10 MySQL 5.7 问题描述: 执行类似以下mysql查询, SEL ...
- NETGEAR R7800路由器TFTP刷回原厂固件方法
前几天因图新鲜将用了一年的R7800刷为dd-wrt固件,结果发现信号覆盖和网络速率相对于原厂固件还有一些差距. 然后从dd-wrt固件刷回原厂,具体操作过程如下: 1.到NETGEAR官网[支持]模 ...
- [转]UiPath Studio Community如何连接orchestrator (Level2讲解)
本文转自:https://mp.weixin.qq.com/s/_IWsUB94nT0QwQ6t1IK0Dg https://blog.csdn.net/weixin_45000314/article ...
- web项目的初始搭建和intellij的tomcat的配置
点击web application
- centos7在线yum安装mysql时官方镜像下载过慢的解决方案
帮客户调试数据库,搭建一测试环境,centos7最小化安装后,在线安装mysql. 步骤: 1. wget -i http://dev.mysql.com/get/mysql57-community- ...
- io流追加到一个文件中信息比如日志
package com.yh.day02.arrays; import java.io.File;import java.io.FileInputStream;import java.io.FileN ...
- [洛谷P1144][题解]最短路计数
这道题可以用各种算法踩掉,我选择的是SPFA. 因为题目要求计数,所以我们开一个ans数组表示数量. 分两种情况讨论: 一:dis_v>dis_u+1 最短路被更新了,可以直接ans_v=ans ...