ORA-39112: dependent object type comment skipped

孟建木
2023-12-01
ORA-39112: dependent object type comment skipped


今天要把测试库schema用expdp倒进生产数据库中,本来非常简单的几个步骤,遇到了大量的 ora-39112: dependent object type comment skipped 这个错误。


网上查了查,导致这个问题的情况大致有一下几个情况,

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

仔细一想还真是这样的情况。

解决办法:
使用impdp工具完成数据导入时,会按照dump文件中有关的存储的参数信息完成数据的导入。很多情况下我们希望按照被导入用户的默认参数完成数据的导入,
此时我们可以使用impdp的transform参数辅助完成


 impdp system/oracle  directory=mydump dumpfile=newllmj.dmp remap_tablespace=llmj_db:gold_mj_tab   remap_schema=newllmj:gold_mj schemas=newllmj table_exists_action=replace transform=segment_attributes:n
 
 remap_tablespace=llmj_db:gold_mj_tab  原来表空间:新的表空间
 remap_schema=newllmj:gold_mj          原来的schema:现在的schema
 transform=segment_attributes:n 去掉表空间和存储子句,加上这个参数后,remap_tablesapce参数就会失效,就会倒进用户默认的表空间,
 
导入语句改成上面的,然后执行就成功了,没有报错。







 类似资料: