如何用DbForge Data Compare for Oracle删除DB1中与DB2相同的数据?
使用DbForge Data Compare for Oracle批量清理迁移数据的方案
你可以通过DbForge Data Compare工具实现批量删除,无需完全依赖手动编写SQL,具体操作步骤如下:
1. 确认源/目标库配置
打开工具后,务必将:
- 源数据库(Source)设为DB-2(旧生产库)
- 目标数据库(Target)设为DB-1(生产库)
2. 筛选需删除的目标数据
在对比结果界面,调整筛选选项:
- 取消勾选“Different Records”“Only in Source”“Only in Target”
- 仅保留**“Identical Records”**的勾选状态
说明:这些“Identical Records”就是从DB-2迁移到DB-1的重复数据,正是你需要删除的部分。
3. 生成并执行删除脚本
- 选中所有需要处理的表(或按需选择特定表),右键点击选择**“Generate Script”**
- 在脚本生成配置窗口,指定操作类型为**“Delete from Target”**,工具会自动生成对应批量DELETE语句
- 预览脚本确认逻辑无误后,执行脚本完成删除
备选方案:手动编写SQL
如果工具生成的脚本无法满足特殊表的需求,可手动构造关联删除语句(以表t为例,假设id为主键):
DELETE FROM DB-1.t WHERE EXISTS ( SELECT 1 FROM DB-2.t WHERE DB-2.t.id = DB-1.t.id );
注意:操作前建议临时备份要删除的数据集,避免误操作。
内容的提问来源于stack exchange,提问作者Dai_N
相关产品推荐
相关产品推荐

