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
- 結果セットから最大行数を返します。
Oracle ドキュメントの状態:
"ORA_ROWSCN returns the conservative upper bound system change number (SCN) of the most recent change to the row"
そう:
- rowscn フィールドの使用は安全ですか?
- いくつかの更新を見逃す可能性はありますか?