<分区>
我需要收集执行夜间批处理后发生的数据库数据更改或架构更改。例如,有一个表 employee 有两条记录。每晚批处理后假设插入一条记录并更新一条记录。我想捕获更新的记录和插入的记录。我正在使用 Oracle 数据库。我正在寻找一个脚本来执行此操作,因为我们在获得执行此任务的新工具的许可证方面遇到了一些问题。所以任何人都可以建议如何以编程方式或使用 Oracle 11g 内置函数来完成这项工作?非常感谢任何示例代码。由于我们有大量表,我正在寻找一种通用方法来执行此操作。
谢谢
<分区>
我需要收集执行夜间批处理后发生的数据库数据更改或架构更改。例如,有一个表 employee 有两条记录。每晚批处理后假设插入一条记录并更新一条记录。我想捕获更新的记录和插入的记录。我正在使用 Oracle 数据库。我正在寻找一个脚本来执行此操作,因为我们在获得执行此任务的新工具的许可证方面遇到了一些问题。所以任何人都可以建议如何以编程方式或使用 Oracle 11g 内置函数来完成这项工作?非常感谢任何示例代码。由于我们有大量表,我正在寻找一种通用方法来执行此操作。
谢谢
最佳答案
我建议对您想要捕获的更改使用触发器,并将该信息插入到另一个捕获这些更改的表中。 stackoverflow 中有一些信息 the best way to track data changes in oracle
如果触发器不是一个可行的选择,请考虑同时插入 2 个表,一个是您的目标表,另一个是您记录/更改捕获表。 这是一个关于 stackoverflow 的例子
Oracle INSERT into two tables in one query
第三个选项是表审计。在stackoverflow上看下面的内容
关于sql - Oracle:如何识别数据和模式更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34054575/