代码之家  ›  专栏  ›  技术社区  ›  Sathya

Oracle物化视图与同一DB服务器上的复制

  •  1
  • Sathya  · 技术社区  · 17 年前

    我们需要在一天中的预定时间运行报告。

    因此,运行报告不应给系统增加过多的负载。

    该应用程序在WebSphere v6.1上运行,数据库是Oracle 10g R2。

    我有以下方法可供选择

    1. 一组用于报告的非标准化表。
    2. 我们可以创建另一个模式,并使用Oracle的Data Guard实时复制表。

    性能非常差。

    2 回复  |  直到 17 年前
        1
  •  4
  •   dpbradley    17 年前

    在某种程度上,物化视图

    1. -此选项将使您能够以编写和维护代码为代价,最大限度地控制加载过程。您还将消除单独实例的基础设施开销。非规范化过程和报告查询将增加活动/事务数据库的资源需求,您必须调整大小以处理此问题。通过此选项,您还将报告应用程序的可用性与事务系统的可用性联系起来。
    2. -上述关于基础设施和资源开销的评论适用,但您可以利用Oracle的MV功能进行调度(通过DBMS_JOB实现)和事务读取一致性(在解析和提交新的SELECT之前,“旧”数据仍然可见)。
    3. 在不同主机上的另一个数据库中使用MV
    4. 使用Data Guard实例
        2
  •  1
  •   FerranB Tom    17 年前

    另一台机器上的实例(不是模式,它没有意义)。在这种情况下,您可以拥有一个最新的数据库,而不会干扰生产应用程序。

    物化视图

    你不谈论的第三种选择是使用 Oracle Resource Manager

    不管怎样, 因为你同时有一个“报告数据库”和一个“实时备份”。