3

我们有一个使用 Informatica 的 MySQL->Oracle ETL,它适用于除DELETE. 不幸的是,这DELETE使得记录消失了,以至于 Informatica 再也看不到它以在 Oracle 中删除/过期它。

人们是如何记录 MySQLDELETE语句的?

这些表是 InnoDB(符合 ACID),所有记录上都有唯一的主键 ( auto_increment)。我们在 Windows 上使用开源 MySQL。

出于性能原因,我们不希望使用通用查询日志。我们还希望保留现有的 MySQL 二进制文件,而不是重新编译我们自己的特殊DELETE语句。

4

1 回答 1

2

一个可能的解决方案是永远不要从数据库中删除任何内容。我避免从数据库中删除,因为这样信息就永远丢失了。我更喜欢通过在表中添加适当的列来将信息标记为无效或过时。

另一个类似的解决方案是使用触发器将要删除的记录插入到审计表中,然后删除信息。使用 Informatica 的插入在 Oracle 端执行相同的操作。

于 2009-07-22T15:03:33.617 回答