Oracle数据库利用expdb逻辑备份数据库时报错及解决办法

公司数据库用的是oracle数据库,昨天在检查oracle备份日志时发现有一个错误。错误信息如下:

“KINGDEE”.”VTZ2MB206Z10EYK82GBHC9G9Y4R9″    14.46 KB       9 rows

ORA-31693: Table data object “KINGDEE”.”VTZ2MB206Z1L7OS2NKN0EDM89GC” failed to load/unload and is being skipped due to error:

ORA-02354: error in exporting/importing data

ORA-39826: Direct path load of view or synonym (KINGDEE.VTZ2MB206Z1L7OS2NKN0EDM89GC) could not be resolved.

. . exported “KINGDEE”.”VTZ2MB206Z1OAJEE4J0IH9M5SRFX”    13.78 KB       4 rows

. . exported “KINGDEE”.”VTZ2MB206Z1WL5YS9S0SRR96OKIK”    13.92 KB       6 rows

. . exported “KINGDEE”.”VTZ2MB206Z27BJR2IEXAY403W3U5″    14.07 KB       7 rows

. . exported “KINGDEE”.”VTZ2MB206Z2ED2N6QJRCGD25HUHM”    14.07 KB       7 rows

. . exported “KINGDEE”.”VTZ2MB206ZNUTG1T3URGKL4NLYT”     13.86 KB       4 rows

. . exported “KINGDEE”.”VTZ2MB206ZQY8AFOWIKID58SWLP”     13.75 KB       4 rows

. . exported

后来经过google发现问题所在,

参考www.stackoverflow.com中网友对于ORA-31693,ORA-02354,ORA-39826的报错解释分析,报错原因是由于该对象在数据导出的过程中被删除导致的一个bug。这是Oracle设计很好的一个行为。对未发布的bug 9847421的修正引入了一套新的对象名称解析检查,其中包括生成bug 14006984>-ora 39826中概述的ora-39826错误消息,该错误消息于11.2.0.3被提高,但ora-942将以“非bug”状态结束。

导出备份已经完成,备份已被验证。下面的错误是由于在expdp导出运行时表被删除,所以在导出该表时找不到该表。触发的报错信息

解决办法:

请检查错误消息中报告的对象是否存在。下面的示例与上述错误消息中提到的对象相关:
vm215:ORCL $> sqlplus  / as sysdba

SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, STAUS, LAST_DDL_TIME

FROM   DBA_OBJECTS

WHERE  OWNER = ‘HR’ AND OBJECT_NAME IN (‘TEST1’);

no row selected
如果查询返回没有行,则可以触发ora-39826。您应该确保对象在导出时存在,并且在导出运行时不被删除。在数据泵导出的主控制表中创建并填充对象,但在实际导出表内容之前,将导致此类错误。

猜你喜欢

转载自www.cnblogs.com/love-vce/p/12751596.html