ORA-31693, ORA-02354 and ORA-01555 with Export Datapump

Symptoms


ORA-31693: Table data object "YXFUND"."MF_NOTTEXTANNOUNCEMENT" 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 10 with name "_SYSSMU10$" too small 

cause



The old versions (consistent read) of the LOB can be specified by either the PCTVERSION or the RETENTION parameters.


For SecureFiles, only the RETENTION parameter can be specified.


for BasicFiles LOBs you can specify either PCTVERSION or RETENTION , but not both. 

- PCTVERSION : This parameter specifies the percentage of all used BasicFiles LOB data space that can be occupied by old versions of BasicFiles LOB data pages. Under 11g compatibility, this parameter is silently ignored when SecureFiles LOBs are created.

PCTVERSION is the default in manual undo mode and the default value is 10, meaning that older versions of the LOB data are not overwritten until they consume 10% of the overall LOB storage space.

You can specify the PCTVERSION parameter whether the database is running in manual or automatic undo mode. 

- RETENTION is the default in automatic undo mode. 

You can specify the RETENTION parameter only if the database is running in automatic undo mode. Oracle Database uses the value of the UNDO_RETENTION initialization parameter to determine the amount of committed undo data to retain in the database. In automatic undo mode, RETENTION is the default value unless you specify PCTVERSION. You cannot specify both PCTVERSION and RETENTION.

You can specify the optional settings after RETENTION only if you are using SecureFiles. 

You can see more details about the RETENTION parameter for SecureFiles and BasicFiles LOBs in the following link :

http://docs.oracle.com/cd/E11882_01/appdev.112/e18294/adlob_tables.htm#ADLOB45282
RETENTION Parameter for SecureFiles LOBs

http://docs.oracle.com/cd/E11882_01/appdev.112/e18294/adlob_tables.htm#ADLOB45281
RETENTION Parameter for BasicFiles LOBs


solution



SQL>show parameter undo


NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
_gc_undo_affinity                    boolean                           FALSE
undo_management                      string                            AUTO
undo_retention                       integer                           900
undo_tablespace                      string                            UNDOTBS2


SQL> select max(maxquerylen) from v$undostat;


MAX(MAXQUERYLEN)
----------------
            1785


SQL> select COLUMN_NAME,PCTVERSION,RETENTION from dba_lobs where OWNER='YXFUND' and TABLE_NAME='MF_NOTTEXTANNOUNCEMENT';


COLUMN_NAM PCTVERSION  RETENTION
---------- ---------- ----------
CONTENT            10


SQL>ALTER SYSTEM SET UNDO_RETENTION = 7200 scope=both sid='*';


SQL>show parameter undo
 

NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
_gc_undo_affinity                    boolean                           FALSE
undo_management                      string                            AUTO
undo_retention                       integer                           7200
undo_tablespace                      string                            UNDOTBS2




SQL> select COLUMN_NAME,PCTVERSION,RETENTION from dba_lobs where OWNER='YXFUND' and TABLE_NAME='MF_NOTTEXTANNOUNCEMENT';


COLUMN_NAM PCTVERSION  RETENTION
---------- ---------- ----------
CONTENT                     7200




SQL>alter table YXFUND.MF_NOTTEXTANNOUNCEMENT modify lob(CONTENT) (pctversion 5);


SQL>alter table YXFUND.MF_NOTTEXTANNOUNCEMENT modify lob(CONTENT) (retention);


参考my oracle support :ORA-31693, ORA-02354 and ORA-01555 with Export Datapump (文档 ID 1580798.1)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!感谢您提问。 ORA-39002、ORA-39070和ORA-39087是Oracle数据库中与数据泵(Data Pump)相关的错误代码。这些错误通常与导入或导出操作相关,并且可能有不同的原因导致。下面我会分别介绍这些错误的含义和可能的解决方法。 1. ORA-39002: 无效操作 这个错误表示正在尝试执行一个无效的操作。可能的原因包括: - 没有足够的权限执行该操作。请确保您具有执行所需操作的适当权限。 - 操作的语法或参数有误。请仔细检查您执行的操作,确保语法和参数正确。 2. ORA-39070: 无法打开数据泵作业 这个错误表示无法打开数据泵作业。可能的原因包括: - 数据泵作业已经在运行中。请等待当前作业完成后再尝试打开新的作业。 - 数据泵作业已经被停止或取消。请检查是否有其他会话或作业正在操作该作业,并确保作业处于可用状态。 3. ORA-39087: 目标文件名无效 这个错误表示指定的目标文件名无效。可能的原因包括: - 指定的目标文件名已经存在或被占用。请尝试使用不同的目标文件名。 - 目标文件名包含非法字符或格式有误。请确保目标文件名符合命名规则和格式要求。 如果您能提供更多的上下文信息,例如具体的操作步骤、命令或脚本,我可以更准确地帮助您解决这些错误。另外,请确保您使用的是最新版本的Oracle数据库和相关工具,以获得最佳的兼容性和稳定性。 希望对您有所帮助!如果您还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值