应用程序只处理数据库中的部分数据,其余部分是报告所必需的,但它会导致应用程序性能下降。我想在不修改数据库架构的情况下归档历史数据。
是否有可能复制数据库,从主实例中删除旧数据并定期将新更改同步到复制数据库?这样主要的"交易"数据库将是轻量级的,并且复制的数据库将包含用于报告目的的全套当前和历史数据。
您能否推荐一些工具或提供一些在Oracle上实现这一目标的技巧?
编辑: 我想知道我是否可以使用流,并以某种方式使DML处理程序忽略行上的DELETE操作(docs.oracle.com/cd/B28359_01/server.111/b28321/...),以便在数据复制期间历史行将是尽管从事务性数据库中删除,仍然保留。
答案 0 :(得分:0)
您无需创建两个单独的数据库。只需创建一个事务数据库,您将保存所有事务,然后根据这些表创建视图以显示所需的数据。通过这种方式,您只需要维护一个数据库。