现象:
impdp 导入后报大量的 ORA-39112 错误
原因:
1,目标库缺少用户。
源库中的schema和别的用户相互授权了,但导出的dmp中没有包含所有的用户,并且目标库也没有这些用户。
2,目标库缺少表空间。
源库中的用户下的某个表的索引没有在他的默认表空间里,而是在其他表空间,但目标库里又没有这个表空间。
解决:
impdp导入时,会按照dmp文件中有关的存储的参数信息完成数据的导入。如果遇到上边说的情况,就会报 ora-39112 错误。
这个时候我们需要按照被导入用户的默认参数完成数据的导入,使用impdp的transform参数辅助完成。
impdp username/password directory=dumpdir dumpfile=xxx.dmp logfile=xxx.log remap_schema=old_schema:new_schema schemas=old_schema table_exists_action=replace transform=segment_attributes:n
transform=segment_attributes:n 加上这个参数后,就会倒进用户默认的表空间