温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

11gr2环境imp导入报IMP-00051与IMP-00008错误

发布时间:2020-06-17 07:12:58 来源:网络 阅读:3662 作者:7343696 栏目:关系型数据库

今天客户在imp导入数据的时候遇到了下面的报错信息

IMP-00051: Direct path exported dump file contains illegal column length

IMP-00008: unrecognized statement in the export file

这个报错的原因与解决方法见如下官方文档

 

欢迎大家加入ORACLE超级群:17115662 免费解决各种ORACLE问题,以后BLOG将迁移到http://www.htz.pw

 

ALERT: Direct Path Export (EXP) Corrupts The Dump If An Empty Table Partition Exists (文档 ID 1604983.1)

 

修改时间:2013-12-19

11gr2环境imp导入报IMP-00051与IMP-00008错误

类型:ALERT

 

11gr2环境imp导入报IMP-00051与IMP-00008错误

In this Document

 

Description

Occurrence

Symptoms

Workaround

History

References

 

APPLIES TO:

Oracle Database - Enterprise Edition - Version 11.2.0.1 and later

Information in this document applies to any platform.

DESCRIPTION

You performed a direct path export (table, schema or full) using the traditional export utility (EXP). If the exported objects include an empty table partition, then the export dump is corrupt and cannot be imported. 

OCCURRENCE

Only exp versions >= 11.2.0.1 are affected. The traditional export utility is de-supported beginning with the version 11g and is no more maintained.

SYMPTOMS

During import you may see one of the following issues:

IMP-00009: abnormal end of export file

Or:

IMP-00051: Direct path exported dump file contains illegal column length

IMP-00008: unrecognized statement in the export file

Or:

Import silently skips a part of the dump, tables are missing and later constraints cannot be created.

This is below demonstrated with a simple test:

connect test

create table part001

(

   col001  number,

   col002  varchar2(100)

)

partition by range (col001)

(

   partition p001 values less than (10),

   partition p002 values less than (100),

   partition p003 values less than (1000)

);

 

insert into part001 values (5, 'Text 5');

insert into part001 values (500, 'Text 500');

commit;

#> exp test/password file=part001.dmp tables=part001 direct=y

This will show:

About to export specified tables via Direct Path ...

. . exporting table                        PART001

. . exporting partition                           P001          1 rows exported

. . exporting partition                           P002          0 rows exported

. . exporting partition                           P003          1 rows exported

Export terminated successfully without warnings.

but the import breaks with error:

. importing TEST's objects into TEST

. . importing partition               "PART001":"P001"          1 rows imported

. . importing partition               "PART001":"P002"

IMP-00009: abnormal end of export file

Import terminated successfully with warnings.

WORKAROUND

 

If you perform direct path exports using a version greater or equal 11.2.0.1 and you see the messages:

About to export specified tables via Direct Path ...

...

. . exporting partition                     <partition_name>           0 rows exported

...

in the export output (or log file), then you obtain a corrupt dump. You can verify the dump with the commands:

#> imp user/passw full=y

or:

#> imp user/passw full=y show=y

which will show you one of the behaviors listed above.

 

To workaround this please use:

- conventional path export (exp direct=n)

Or:

- materialize the empty partitions before running direct path exports:

connect / as sysdba

exec dbms_space_admin.materialize_deferred_segments (schema_name => 'TEST', table_name => 'PART001', partition_name => 'P002');

Or:

- DataPump export (expdp)

HISTORY

[03-DEC-2013] - Document created

REFERENCES

BUG:13880226 - IMPORT FAIL WITH IMP-00051 AND IMP-00008

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI