sql - Oracle:如何识别数据和模式更改

标签 sql database oracle plsql oracle11g

<分区>

我需要收集执行夜间批处理后发生的数据库数据更改或架构更改。例如,有一个表 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上看下面的内容

Auditing in Oracle

关于sql - Oracle:如何识别数据和模式更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34054575/

相关文章:

MySQL 使用来自另一个表的信息更新一个表

sql - 乔姆拉。在 bluehost 服务器上移动网站并为新域手动导入 sql 数据库后,在 JError 中检测到无限循环?

oracle - Case 表达式和 bool 值

Oracle 写入文件

sql - 左外连接在 Postgres 中深入两层导致笛卡尔积

sql - 这些围绕日期值类型的数字符号的目的是什么?

mysql - 'table.column' 中的未知列名称 'field list'

python - 如何为作为架构附加的 SQLite 数据库设置 Alembic?

java - Oracle 数据库可以向 Servlet 发送请求吗?

oracle - PL/SQL Developer 语句有时不提交或 "stick"