我有两个数据库,说A和B.他们是一样的,期望数据记录是最新的还是旧的.我希望从最新的(A)和较旧的(B)中进行exp.
当我通过以下命令导入旧的
imp用户名/密码file = xxx.dmp fromuser = Auser touser = Buser
这实际上不会导入,因为B已经拥有所有表.
所以任何人都知道有一个导入命令并替换当前的DB.谢谢
顺便说一句,我正在使用Oracle
解决方法
导入用于加载整个模式,对象和数据.尽管有一些灵活性 – 加载单个表,只加载数据 – 它没有优雅地处理目标模式中包含数据的表的存在.如果目标模式中的旧数据包含已在较新的源模式中更新或删除的记录,则这尤其成问题.
如果您使用的是Oracle 10g或更高版本,则解决方案是使用Data Pump.此实用程序具有更强大的功能,包括使用源模式中的数据替换目标模式中现有表中的现有表或数据的功能. Find out more.
如果您使用的是早期版本的数据库,则有一些解决方法. Find out more.但是您可能必须禁用所有约束并在一轮后处理中修复数据.