是Oracle Total Recall的替代scheme吗?

Oracle Total Recall是Oracle Enterprise Edition(11g)的一个选项,可提供对历史数据的安全保留和访问。

从白皮书:

闪回数据存档为每个被跟踪的表创build一个内部历史表。 内部历史表最初是具有附加元数据列的FDA支持表的复制品。 当被跟踪表中的一个或多个列被更新时,将在事务之前的行的前映像的历史表中插入新行。 UPDATE和DELETE操作会在历史logging表中生成一条新logging,但INSERT操作不会在基表中显示插入的行。 内部历史logging表进行分区以获得更好的性能,并进行压缩以减less磁盘空间要求。 内部历史logging表不允许修改。 应用程序和用户可以使用'AS OF'和'VERSIONS BETWEEN'SQL结构来无缝地查询历史数据。

是一个(开源)替代历史跟踪?

您可以在大多数RDBMS中使用日志恢复,但并不像Oracle那样“容易”。 基本上,所有RDBMS可以跟踪所有执行的查询。

因此,您可以在单独的服务器上使用此function来重播完整备份中执行的查询,并在任何给定的时间点恢复数据库的状态(例如,您可以在事务xxx之后的12月3日13:53查看数据库的状态)。 你也可以分析日志,看看发生了什么。

这是非常有限的,不太实际。

检查PostgreSQL文档在这里: http : //www.postgresql.org/docs/8.4/static/continuous-archiving.html

这通常是用触发器(或者在ORM-land中,用等效的信号)完成的。 我不知道一个通​​用的和数据库中的解决scheme,虽然复制队列像PGQ是接近的。

您可以查看标准数据库中的Workspace Manager 。

function的概述在这里: http : //www.oracle-base.com/articles/9i/WorkspaceManagement9i.php