【发布时间】:2010-09-20 21:02:10
【问题描述】:
我能否查明对 Oracle 数据库中的表执行最后一次 INSERT、UPDATE 或 DELETE 语句的时间?如果是,如何查明?
一点背景:Oracle 版本是 10g。我有一个定期运行的批处理应用程序,从单个 Oracle 表中读取数据并将其写入文件。如果自上次作业运行以来数据没有更改,我想跳过此操作。
该应用程序是用 C++ 编写的,并通过 OCI 与 Oracle 通信。它使用“普通”用户登录 Oracle,所以我不能使用任何特殊的管理工具。
编辑:好的,“特殊管理员的东西”并不是一个很好的描述。我的意思是:除了从表中选择和调用存储过程之外,我什么也做不了。如果想在 2010 年之前完成,那么更改数据库本身的任何内容(例如添加触发器)都不是一个选项。
【问题讨论】:
-
是的...... 2010 年的评论是关于我接受它的 DBA 的缓慢性?
-
嗯,有点。它们很慢,但正如我在之前的评论中所说,我理解它们。如果这个数据库有问题,它会变得非常丑陋,非常快。你可以在那里拿东西,但只有在被一群人分析到地狱之后。
-
由于我还不能评论答案(我是新来的),我想评论一下,我发现 CDC 已从 Oracle 12c 中删除,以促使人们购买 GoldenGate。 docs.oracle.com/database/121/UPGRD/deprecated.htm#UPGRD60083
标签: oracle oracle-call-interface