今天接到开发人员要求将a库中的t1,t2表同步到b库中,两库中的表以及索引的owner不相同且各自所在的表空间也不同。
用户不同可以使用impdp的remap_schema参数解决,表空间不同可以使用remap_tablespace参数解决,目标库中对象已存在可以通过table_exists_action参数来解决,该参数有skip,replace,truncate,append等若干取值,默认为skip。
我要说明的问题是当table_exists_action取值为replace之外的值时会提示只加载对象数据不会加载相关的元数据,也就是说与表相关的索引等对象不会加载,那么这时remap_tablespace值就被忽略,remap_schema参数仍然有效。
而当table_exists_action取值为replace时相当于将目标库已存在的对象删除重建,这时remap_*参数值都会生效,如果没有remap_tablespace参数,那么此时导入后目标库中的对象所在表空间与原库的表空间布局一致。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20801486/viewspace-719346/ ,如需转载,请注明出处,否则将追究法律责任。