我如何在物化视图刷新重做日志?

10gR2数据库,在Data Guard中configuration为物理和逻辑备用数据库。

我有一个物化视图,定期从远程数据库中完成大约40K条logging的刷新。 它一直在每小时刷新多年,没有问题。 昨天我被要求刷新率更频繁,就像每2分钟一次。 我这样做,没有明显的问题,直到今天凌晨4点左右的存档日志目录填满。

我一直在努力closures日志logging一直在挣扎。 我有:

  • 在数据库中设置NO FORCE LOGGING
  • 将物化视图和基表改为NOLOGGING
  • 改变了NOLOGGING的观点

似乎没有什么能够降低日志生成速度。 在读取它的过程被启动之前,通过dbms_refresh.refresh在计划的任务中刷新视图。

我知道我应该重新调整这个过程,可能是每次作业运行时将数据吸入到一个全局临时表中,但是通过QA工厂需要一段时间。 任何有关我在这里失踪的见解? 从我能读的东西看来,我应该可以做到这一点。 这个asktom文章似乎支持,但我似乎无法使其工作。

非常感谢你的时间。

啊,我偶然发现了这个解决scheme。 而不是dbms_refresh,因此使用dbms_mview:

begin dbms_mview.refresh('MYTABLE',method =>'C',atomic_refresh => false); 结束;

我在这里find了解决scheme 。

感谢您的期待。