【发布时间】:2020-08-21 11:29:40
【问题描述】:
我是一名 Java 人,我可以使用 Oracle 数据库,我知道 PLSQL、SQL。但我不擅长管理数据库服务器。我认为这是一个完全不同的领域。
我的问题与数据库复制有关。我用谷歌搜索了它,找到了数百万个答案,但我仍然感到困惑。
我可以在我的专业运营商中多次看到开发人员创建完整(复杂)的应用程序以保持源数据库架构与目标数据库架构的同步。开发同步应用程序需要时间并且很难维护它们,尤其是在修改任何数据结构的情况下,例如在表中。
我也可以看到使用 JPA、JDBC、Spring、myBatis 和 PLSQL 构建的应用程序。通常在夜间同步数据库,由 Cron、Quartz、Spring 等调度。在同步过程中,源数据库通常只能用于查询数据,不能用于插入,并且数据库约束和触发器被禁用。
这些类型的自定义应用程序总是让我害怕。我不认为没有通用、简单和官方的方法可以在不开发新应用程序的情况下保持两个数据库同步。
现在,我有一个类似的任务,老实说,我想编写与此任务相关的零行代码。我相信有推荐的和现有的解决方案,涵盖数据库供应商提供的这个主题。
如果你能把我推向正确的方向那就太好了。我觉得编写另一个新的 DB 同步应用程序不是正确的方法。
我需要专注于 Oracle 数据库同步,但我很高兴知道一种通用的、独立于数据库供应商的方式。
【问题讨论】:
-
这是一个生产数据库吗?换句话说,
SELECT log_mode FROM v$database说了什么? -
复制数据库有什么用,你会怎么用?这对选择复制数据的解决方案产生了巨大的影响。
-
@wolφi:错误:ORA-00904:“LOG_MODE”:标识符无效
-
@CyrilleMODIANO 用于WEB UI,主要是查询数据。
-
@wolφi - log_mode 不能证明或反驳数据库是“生产”的。许多人以归档日志模式运行测试数据库。不幸的是,有些人在 NOarchivelog 中运行生产。生产与否与回答 OP 的问题有什么关系?
标签: java database oracle oracle11g