您的位置:首页 > 移动开发 > Objective-C

ORA-39112: dependent object type comment skipped

2016-12-15 14:58 519 查看
ORA-39112: dependent object type comment skipped

原文章:http://blog.itpub.net/29654823/viewspace-1779828/

今天要把测试库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.dmpremap_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参数就会失效,就会倒进用户默认的表空间,

 

导入语句改成上面的,然后执行就成功了,没有报错。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ORA-39112