首页 > 数据库DBA > oracle知识 > oracle报错 >

oracle 数据泵 ORA-39112: Dependent object type COMMENT skipped

作者: 初见博客 分类: oracle报错 发布时间: 2021-07-09 14:24

今天要把测试库的若干个schema用数据泵倒进生产数据库中,本来非常简单的几个步骤,却由于遇到了ORA-39112: Dependent object type COMMENT skipped这个错误,让我头疼半天。

仔细在网上查了查,导致这个问题的情况大致有一下几个情况,
1,在原来测试库中,目标schema和别的用户相互授权了,可是你导出的dmp中没有包含所有的用户,导入时对应用户没有创建好。
2,再就是,表空间问题,测试库中的用户下的某个表的索引没有在他的默认表空间里,这样你要在目标端(这里就是生产环境),创建好对应的表空间,就是说如果你在测试库把A用户的下的某个表的权限授给了B,那么你在把A用户用数据泵倒进生产库时,他会在生产库中检测有没有用户B。也要做相同的操作。

解决办法:
使用IMPDP工具完成数据导入时,会按照dump文件中有关的存储的参数信息完成数据的导入。很多情况下我们希望按照被导入用户的默认参数完成数据的导入,此时我们可以使用IMPDP的TRANSFORM参数辅助完成
利用参数  TRANSFORM=segment_attributes:n 去掉表空间和存储子句,加上这个参数后,remap_tablesapce参数就会失效,就会倒进用户默认的表空间,
[oracle@rac1 ~]$impdp system/"manager(*)"  directory=bak dumpfile=pdtest16.dmp remap_tablespace=pdTEST_EN:test_pd_data  remap_schema=pdtest_DE_DE:test_pd_DE_DE schemas=pdtest_DE_DE  TABLE_EXISTS_ACTION=replace TRANSFORM=segment_attributes:n;
就能成功

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注