如何在两个不同的数据库服务器之间双向同步两个表?

时间:2018-01-15 13:01:49

标签: java oracle freeradius

我目前正在开发如下架构

  1. 管理员用户将通过Web应用程序(Say App1)为其他用户创建凭据。相同的内容将存储在oracle 12C数据库(Say DB1)
  2. 普通用户将使用该凭证连接到另一个系统(Say app2)
  3. 该系统将使用Radius Server进行身份验证(只需将输入的凭据传递给Radius服务器)。
  4. Radius Server(Say RS1)将使用DB1数据库对用户进行身份验证 同样已经完成并正常工作。
  5. 现在我想要以下内容

    1. 配置另一个使用其他Oracle数据库(Say DB2)的Radius服务器(Say RS2)。 DB2和DB1必须位于不同的服务器上以防止单点故障。
    2. 只要RS1不可用,就将所有请求从RS1转移到RS2
    3. 为此我需要DB1和DB2实时同步(双向)。如果DB2在一段时间内不可用,那么当DB2可用时,必须同步DB1上完成的所有更新。
    4. 任何人都可以让我如何实现第3点吗? 请注意,只需要同步一个表。只有DML操作

1 个答案:

答案 0 :(得分:1)

您的要求与数据库服务器的高可用性有点类似。 请查看以下链接 https://docs.oracle.com/cd/B28359_01/server.111/b28281/architectures.htm#i1008361 http://www.oracle.com/technetwork/database/availability/index.html

理想情况下,高可用性配置为一个主节点(服务器)和两个从属(其中一个至少应该是活动阶段)

现在,如果主设备关闭,主动从设备将成为主设备,被动设备将处于活动状态。

稍后当初始主设备恢复时,它将被充当被动从设备。

所有服务器都将同步(定期或使用某些预定义的触发点)