我正在尝试使用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
的测试模式中模拟了错误。这是其所有对象的图片:
导出成功执行,但是当我尝试导入(使用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;
抱歉,因为错误消息是西班牙语。如果您有任何疑问,请询问。
答案 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