1

在数据库中的数据只有一部分复制数据库是由应用程序处理,剩下的就是需要汇报的,但它会导致应用性能不佳。我想在不修改数据库模式的情况下存档历史数据。用于存储历史数据

是否有复制数据库,删除主实例旧数据,并定期同步新的修改复制数据库的可能性?这种方式主要的“事务性”数据库将是轻量级的,并且复制的数据库将包含用于报告目的的全套当前和历史数据。

你能否推荐一些工具或给一些提示,以实现这一目标上的Oracle?

编辑: 我想知道如果我可以使用流,并以某种方式使DML处理程序忽略行上的DELETE操作(docs.oracle.com/cd/B28359_01/server.111/b28321/...),以便在数据尽管从事务性数据库中删除了复制历史行,但它们仍将保留。

+1

你的意思是[数据仓库(https://docs.oracle.com/cd/E11882_01/server.112/e25554/concept.htm#DWHSG8063)? –

+0

是否要归档数据?你在表中有1亿行,你想将其中的一半(取决于条件)移动到另一个表中并从主数据库中删除它们?如果是的话,我不认为与复制,你可以做到这一点。我有一个程序来完成存档数据的工作,这样可以提高性能。 – Moudiz

+0

不幸的是,我没有奢侈的修改模式既不是当前数据也不是历史数据。报告和事务功能都是基于现有模式实施的。我的目标是即兴解决方案不会干扰当前的实施。 – kar8o

回答

0

你并不需要创建两个单独的数据库。只需创建一个事务数据库,您将保存所有事务,然后根据这些表创建视图以显示所需的数据。这样你只需要维护一个数据库。