Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 11g复制—使用远程数据库提交时刷新(数据库链接)_Oracle_Oracle11g_Replication_Materialized Views - Fatal编程技术网

Oracle 11g复制—使用远程数据库提交时刷新(数据库链接)

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

下午好

我有3个数据库;SID分别为config、prod1和prod2

我使用物化视图将配置数据库中11个表上的数据复制到其他两个数据库上。物化视图当前每五秒钟刷新一次,但如果在提交时更新它们,那将是理想的

我发现这解释了当从远程数据库复制时,不支持提交

这就是我期待的工作

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。不能在两个不同的数据库上有一个事务。