除了在 Oracle 数据库中的所有表上放置触发器之外,是否有一个 Java API 可以用来从 Oracle 事务日志中读取事务?
我的目的是能够检测进入专有(供应商)数据库的交易并做出相应的反应。我们不能修改数据库,以免我们的维护合同无效。
请帮忙!
除了在 Oracle 数据库中的所有表上放置触发器之外,是否有一个 Java API 可以用来从 Oracle 事务日志中读取事务?
我的目的是能够检测进入专有(供应商)数据库的交易并做出相应的反应。我们不能修改数据库,以免我们的维护合同无效。
请帮忙!
有基于 SQL 的 LogMiner(因此您可以通过 JDBC 访问)。
http://download.oracle.com/docs/cd/B19306_01/server.102/b14215/logminer.htm#sthref1875
或者您可以查看 Oracle Streams,它读取日志并根据日志内容将“逻辑更改消息”生成到队列中。
http://download.oracle.com/docs/cd/B19306_01/server.102/b14229/strms_over.htm#i1006309
如果您在 *nix 中运行,则可以使用 perl 模块来跟踪文件;然后自己分解线。