Java中Oracle表更改的通知

时间:2012-05-29 11:09:28

标签: java oracle

每次更新Oracle DB的特定表时,我都需要在Java中运行一个方法(任何类型的更新,包括记录添加,删除和修改)。

对Java进行“轮询”表格的最有效方法是什么,该表格具有良好的性能并且不会对数据库施加太大压力?

不幸的是我有很多限制因素:

  • 我无法创建其他表,触发器,存储过程等,因为我无法控制数据库管理/设计。
  • 我宁愿避免Oracle Change Notification,因为它似乎涉及C / JNI。
  • 仅计算记录是不够好的,因为我可能会错过修改和同时添加/删除。
  • 实际更改和通知之间的延迟最多可达30/60秒。
  • 我想要监控的表通常有100k +记录(大约1m +)所以我不认为拉整个表是一个选项(从数据库加载/性能的角度来看)。

1 个答案:

答案 0 :(得分:5)

从oracle 11g开始,您可以将Oracle Change Notification与普通JDBC驱动程序Link

一起使用