我们有一个使用Informatica的MySQL-> Oracle ETL,它适用于除DELETE
之外的所有语句。不幸的是,DELETE
使记录消失,以至于Informatica再也没有看到它在Oracle中删除/过期。
人们如何记录MySQL DELETE
语句?
这些表是InnoDB(符合ACID),在所有记录(auto_increment
)上都有唯一的主键。我们在Windows上使用开源MySQL。
出于性能原因,我们不希望使用常规查询日志。我们还希望保留MySQL二进制文件,而不是重新编译我们自己的特殊DELETE
语句。
答案 0 :(得分:2)
可能的解决方案是永远不要从数据库中删除任何内容。我避免从数据库中删除,因为这样信息就永远丢失了。我更喜欢通过向表中添加适当的列来将信息标记为无效或过时。
另一个类似的解决方案是使用trigger将要删除的记录插入到审计表中,然后删除该信息。使用带有Informatica的插件在Oracle端执行相同的操作。