Oracle跨库同步数据

业务需求:测试库数据全量同步到正式库
【方法一】:
把oracle查询的数据导出为sql文件,执行sql文件里的insert语句,如下:
第一步,导出sql文件:
Oracle跨库同步数据
第二步:用PL/Sql Developer 连接另外一个oracle数据库,打开这个sql文件,全选所有insert语句,执行所有插入sql语句即可:
Oracle跨库同步数据
这种方法试用于插入大多数的数据库,无论是oracle数据库还是sql server数据库都可执行这个sql文件(全是insert语句)。

缺点是:当数据量大的时候,oracle数据库执行这些insert语句,效率会很低。

于是,接下来介绍第二种导入数据的方法,即:导出/导入CSV文件。

【方法二】:
第一步,在Pl/Sql Developer查询窗口查询数据,导出成CSV文件:
Oracle跨库同步数据
导出的csv文件如下图:
Oracle跨库同步数据
第二步,把这个csv文件里的数据导入到另外一个数据库里,

用PL/Sql Developer 连接另外一个oracle数据库,

菜单-工具-文本导入器:Oracle跨库同步数据第三步,点击“文本导入器”窗口里,点击导入按钮:

Oracle跨库同步数据

第四步,选择导入CSV文件:
Oracle跨库同步数据
导入后,界面如下:
Oracle跨库同步数据第五步,选择“到Oracle的数据”选项卡,点击下拉框选择“所有者”,点击下拉框选择要导入的表,选择“覆盖重复”,点击“导入”按钮:

Oracle跨库同步数据
导入成功入下图:
Oracle跨库同步数据
引用:https://www.cnblogs.com/527289276qq/p/4555659.html
感谢原作者。

【遇到的问题】:

  • 1.覆盖导入跟忽略重复是一样的结果呢?暂时先删除原表数据再重新导入的。
    2.同步数据要考虑实际的业务,可能造成的影响,比如同步的数据表使用序列,测试库和正式库的序列值可能已经不一致,会对存量数据造成影响。
    3.同步前要先进行测试。