【问题标题】:Mirror/Copy/Update one table to a different database in another table - ORACLE镜像/复制/更新一个表到另一个表中的不同数据库 - ORACLE
【发布时间】:2021-01-18 19:07:33
【问题描述】:

我在两台服务器上部署了两个相同的数据库,我想在表上从一个数据库更新/镜像到另一个。

例如。一张表,dbName1.Cars 将在 dbName2.Cars 上更新。有没有办法在 dbName1 上添加一些 Job 或 Scheduler 来填充 dbName2?

我正在使用 ORACLE 数据库。

【问题讨论】:

  • GoldenGate 可以解决这个问题。但这适用于 DBA。对于开发者:数据库链接和物化视图
  • 为什么还要复制呢?只需在 db 之间创建 db 链接,并允许一个数据库查询另一个数据库中的表。

标签: database oracle populate


【解决方案1】:

由于您有两个数据库,因此您需要一个 数据库链接 - 简化 - 您会

insert into cars@db_link select * from cars;

如果您将这样的代码放入存储过程,您可以使用DBMS_SCHEDULER(或DBMS_JOB)包安排其执行,并使其在您想要的任何时间运行(例如在2:30午夜之后,早上 10:30 ......,每天 / 每周一次 / 仅在周末......)。


或者,创建一个物化视图。再次简化:

create materialized view mv_cars as select * from cars@db_link;

它可以让您安排从按需(您明确地说“刷新,现在!”)到 Oracle 支持的其他选项的刷新间隔。


另外,阅读Golden GateAdvanced Replication。不过,这些选项并不是那么简单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 2012-04-07
    • 2011-10-25
    • 1970-01-01
    • 2017-12-09
    • 1970-01-01
    • 2012-05-15
    相关资源
    最近更新 更多