我想使用我的 java 应用程序跟踪 oracle11g 中表的所有更改。
我正在考虑使用ora_rowscn
这样的:执行选择并每次获取更新的记录:
max = 0;
While(true){
ps = con.prepare statement("Select rowscn, * from t where ora_rowscn > ?");
ps.setInt(max);
max = calcMaxRowScn(ps.getResultSet());
}
calcMaxRowScn
- 从结果集中返回最大 rowscn。
Oracle 文档状态:
"ORA_ROWSCN returns the conservative upper bound system change number (SCN) of the most recent change to the row"
所以:
- 使用 rowscn 字段安全吗?
- 我可能会错过一些更新吗?