使用数据泵导入数据,导入过程中没有任何错误,导入的记录数完全正常,但应用就是无法使用,取不到数据,找了很久都没找到原因,最后,发现是由于序列的问题引起的,发现导出和导入的值不一样,通过与开发沟通才明白,因为在导入数据时要对一些字段定义做了修改,所以先导入空表,然后再导入数据的,在向表插入数据时会插入序列,而序列是由触发器来产生的,从而导致两边的序列值不一致,引起记录的值有差异,找到原因就好办了,在导入数据前关闭所有的约束和触发器,导入数据成功后,再打开约束和触发器,连接应用测试,一切ok.
在目标库上建立数据泵目录
create directory dump_dir as '/oracle/ppp';
grant read,write on directory dump_dir to user;
在源库上导出数据:
expdp system/oracle directory=dump_dir dumpfile=user.dmp schemas=user logfile=user.log
导出表结构:
impdp system/oracle directory=dump_dir d
在目标库上建立数据泵目录
create directory dump_dir as '/oracle/ppp';
grant read,write on directory dump_dir to user;
在源库上导出数据:
expdp system/oracle directory=dump_dir dumpfile=user.dmp schemas=user logfile=user.log
导出表结构:
impdp system/oracle directory=dump_dir d