database - 如何同步两个 Oracle 数据库?

标签 database oracle synchronization

我想创建一个需要同步本地数据库和远程数据库的项目。在本地数据库中所做的更改必须反射(reflect)到远程数据库中。这必须同步完成。我有一个应用程序,它对用 java/jpa 编写的本地数据库执行 CRUD 操作。应该从 java 代码触发同步。 我想到了数据库每个表上的触发器,它将维护本地数据库中的更改。但我怀疑它是否安全。 谷歌搜索后我发现 oracle lite 数据库最适契约(Contract)步两个数据库,但我需要快速入门。 我使用的操作系统是Windows Xp。数据库大小约为 2gb。

我确实创建了线程以在 Java 中实现同样的事情,但根据建议,我在数据库上下文中重新启动了相同的线程。

最佳答案

首先,我建议您重新考虑您的设计。复制数据的最简单方法是通过 View as suggested in this SO .您可以在两个数据库之间创建一个 DATABASE LINK,并在将查询本地数据库的远程站点上创建 View 。这将是实现实时同步的最简单方法(更少的代码,更少的维护)。

如果你真的想同步复制你的数据,你应该阅读 Replication Guide .您可以使用物化 View 。您将需要定义 materialized view logs在您的主站点的表上。在远程站点,您将创建 ON COMMIT REFRESH materialized views .

关于database - 如何同步两个 Oracle 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1420688/

相关文章:

node.js - 在 redis 中搜索 JSON 值

regex - Ora 06512/04088 在 INSERT INTO 语句时触发错误

oracle - 如何确定 Oracle APEX 中的主机名?

c++ - 进程间并发文件写入

javascript - 插入查询的语法不正确

java - Android 中的并发

mysql - MongoDB 作为主要数据存储,MySQL 仅用于事务

oracle - ORA-1008 if 表单变量在 ORDER BY 子句中引用

java - JVM 是否为每个对象创建一个互斥锁以实现 'synchronized' 关键字?如果没有,怎么办?

c# - 从 Sync 方法调用 Async 方法的最佳做法是什么?