select ORA_ROWSCN from tablename order by 1 desc--比如值为XX
--ORA_ROWSCN 缺省是数据块级别的,也就是一个数据块内的所有记录都是一个ORA_ROWSCN,数据块内任意一条记录被修改,这个数据库块内的所有记录的ORA_ROWSCN 都会同时改变。
select scn,to_char(time_dp,'yyyy-mm-dd hh34:mi:ss')from sys.smon_scn_time where scn>XX order by 1
--sys.smon_scn_time只记录了最近5天的记录,所以该表最后一次的修改时间大于5天前,就查不到确切的时间点了。
以上两条sql也可以使用下面的替代,当然如果SCN超过最近5天的SCN则不能使用SCN_TO_TIMESTAMP函数,否则会报错--ORA-08181: 指定的编号不是有效的系统更改号
select max(ora_rowscn),to_char(scn_to_timestamp(max(ora_rowscn)),'yyyy-mm-dd hh34:mi:ss') from tablename;