Oracle 11g复制—使用远程数据库提交时刷新(数据库链接)
下午好 我有3个数据库;SID分别为config、prod1和prod2 我使用物化视图将配置数据库中11个表上的数据复制到其他两个数据库上。物化视图当前每五秒钟刷新一次,但如果在提交时更新它们,那将是理想的 我发现这解释了当从远程数据库复制时,不支持提交 这就是我期待的工作Oracle 11g复制—使用远程数据库提交时刷新(数据库链接),oracle,oracle11g,replication,materialized-views,Oracle,Oracle11g,Replication,Materialized Views,下午好 我有3个数据库;SID分别为config、prod1和prod2 我使用物化视图将配置数据库中11个表上的数据复制到其他两个数据库上。物化视图当前每五秒钟刷新一次,但如果在提交时更新它们,那将是理想的 我发现这解释了当从远程数据库复制时,不支持提交 这就是我期待的工作 CREATE MATERIALIZED VIEW "schema"."table" USING INDEX REFRESH FORCE ON COMMIT AS select column1 from schema.tab
CREATE MATERIALIZED VIEW "schema"."table" USING INDEX REFRESH FORCE ON COMMIT AS select column1 from schema.table@config;
链接中建议了“使用主键按需快速刷新”的方法,但显然这是按需刷新。我想知道如果可能的话,任何人都会有什么想法来刷新commit环境的运行
谢谢,您无法创建从远程表提交时刷新的物化视图。从: 提交时刷新的限制 包含对象类型或Oracle提供的类型的物化视图不支持此子句 对于带有远程表的物化视图,不支持此子句 原因是数据库链接是在“子”数据库中定义的,而不是在“父”数据库中定义的。因此,父数据库本身不可能触发或修改子数据库中的任何内容 如果您想要表的100%实时副本,我建议使用视图
如果要在提交时复制数据,可以修改DML过程,以便它们同时更新子远程表。Refresh fast on commit在同一事务中更新MV。不能在两个不同的数据库上有一个事务。