我想创造一个需要将本地数据库与远程数据库同步的项目。 在本地数据库中所做的更改必须反映到远程数据库。 这必须是同步完成的。 我有应用程序,它确实在用Java编写/ JPA本地数据库CRUD操作。 同步应该从Java代码来触发。 我想对数据库的每个表,这将维持在本地数据库更改触发的。 但我怀疑它的安全与否。 谷歌搜索后,我发现了甲骨文数据库精简版是最适合同步两个数据库,但我需要快速上手。 我使用的操作系统是Windows XP中。 数据库大小约为2GB。
我创建的线程在Java中实现同样的事情,但是从suggetion我重新启动数据库中的情况下相同的线程。
首先,我建议你重新考虑你的设计。 到repicate数据最简单的方法是通过视图在此建议SO 。 你可以你的两个DB之间建立一个数据库链接,并创建视图的,将查询本地数据库的远程站点。 这将有实时同步(更少的代码,少维护)的最简单方法。
如果你真的想同步复制你的数据,你应该阅读复制指南 。 你可以用物化视图去。 您需要定义物化视图日志在你的主站点上的表格中。 在远程站点,您将创建ON COMMIT刷新物化视图 。
什么你是指被称为复制。 同步是不同的东西。
如果你有一个数据集需要多台设备,例如区域销售人员只需要反映他/她服务的区域数据,那么Oracle数据库精简版移动服务器是你在找什么。 基本上,你有一个中央Oracle数据库和你想要一些数据推送到客户端。 该客户端将更新/插入/删除该设备,然后他们将同步。 在服务器上的新信息将被推到他们的设备,而他们的更改都将上传到服务器。 你将需要解决冲突(服务器/客户端赢... Oracle移动服务器还允许定制的解决冲突)。 Oracle移动服务器也被远程使用提供应用软件和管理设备。 该工具的设计,所以你只需要一个中央数据库管理员。 远程机器不需要的活动的任何DBA类型。
因为我们需要做的开发与QA运行他们的测试并行我一直在思索这个问题几天。 我们有两个独立的Oracle实例,但保持它们同步手动将是一个巨大的痛苦。 我不是一个DBA,所以只是在看复制的东西让我害怕逃跑。
相反,我解雇了的Navicat Oracle和(AB)所使用的数据传输功能 - 使保持两个模式在同步相当简单的物理分离的数据库。 一个漂亮的该死的有用的工具! (我不为他们工作,就像他们的工具。)