Java中Oracle表更改的通知

ass*_*ias 5 java oracle

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

什么是"轮询"表以获取具有良好性能且不会对DB施加太大压力的Java更改的最有效方法?

不幸的是我有很多限制:

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

Kon*_*hov 5

从oracle 11g开始,您可以将Oracle Change Notification与纯JDBC驱动程序链接一起使用