Mirror/Copy/Update 一个 table 到另一个 table 中的不同数据库 - ORACLE
Mirror/Copy/Update one table to a different database in another table - ORACLE
我在两台服务器上部署了两个相同的数据库,我想 update/mirror 在 table 上从一个数据库到另一个数据库。
例如。一个 table,dbName1.Cars 将在 dbName2.Cars 上更新。有没有办法在应该填充 dbName2 的 dbName1 上添加一些作业或调度程序?
我正在使用 ORACLE 数据库。
因为你有两个数据库,所以你需要一个 数据库 link 所以 - 简化 - 你会
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 Gate and Advanced Replication 的内容。不过,这些选项并不是那么简单。
我在两台服务器上部署了两个相同的数据库,我想 update/mirror 在 table 上从一个数据库到另一个数据库。
例如。一个 table,dbName1.Cars 将在 dbName2.Cars 上更新。有没有办法在应该填充 dbName2 的 dbName1 上添加一些作业或调度程序?
我正在使用 ORACLE 数据库。
因为你有两个数据库,所以你需要一个 数据库 link 所以 - 简化 - 你会
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 Gate and Advanced Replication 的内容。不过,这些选项并不是那么简单。