如何使用expdp导出/导入对象和集合类型 - Oracle

时间:2015-04-10 18:05:08

标签: oracle export oracle11gr2

我正在尝试使用expdp命令导出架构。除对象和集合类型外,将导入所有模式对象。 我需要为此设置特定参数吗?

--Commands
--Export
expdp system/pass@localhost:1521/orcl directory=my_dir schemas = tony_hr
dumpfile=tony_hr.dmp logfile=tpny_hr.log
--Import
impdp system/pass@localhost:1521/orcl directory=my_dir dumpfile=hr_tony.dmp 
logfile=hr_tony_imp.log remap_schema=tony_hr:hr2

我在名为tony_hr的测试模式中模拟了错误。这是其所有对象的图片:

enter image description here

导出成功执行,但是当我尝试导入(使用remap_schema到hr2)时,我遇到了一些错误。这是导入失败的部分。

ORA-39083: Fallo de creación del tipo de objeto TYPE:"HR2"."O_SEAT" con el error:
ORA-02304: literal de identificador de objeto no válido
El sql que falla es:
CREATE EDITIONABLE TYPE "HR2"."O_SEAT"   OID '02C3315E969E44D6BC7D797EDD9F2D96' IS OBJECT
(
    seat_id VARCHAR2 (8 BYTE),
    seat_category_name VARCHAR2 (32 BYTE)
ORA-39083: Fallo de creación del tipo de objeto TYPE:"HR2"."M_SEATS" con el error:
ORA-02304: literal de identificador de objeto no válido
El sql que falla es:
CREATE EDITIONABLE TYPE "HR2"."M_SEATS"   OID '0A71AFB95CCE4CC78558B571199AF83F' IS TABLE OF o_seat;

抱歉,因为错误消息是西班牙语。如果您有任何疑问,请询问。

1 个答案:

答案 0 :(得分:3)

请在impdp命令中使用以下参数,它也应该导入其他集合类型对象,

REMAP_SCHEMA=Old_username:New_Username (in case of different schema names )
REMAP_TABLESPACE=Old_tablespace_name:New_tablespace_name ( in case of diff tablespace name)
TRANSFORM=SEGMENT_ATTRIBUTES:n
TRANSFORM=OID:n