ITPub博客

首页 > 数据库 > Oracle > 查询某表最近5天内最后一次dml的时间

查询某表最近5天内最后一次dml的时间

原创 Oracle 作者:lusklusklusk 时间:2018-04-26 16:29:25 0 删除 编辑
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 hh24: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 hh24:mi:ss') from tablename;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30126024/viewspace-2153398/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Welcome to Lukes DB HOME。 Oracle OCM、Mysql OCP, 10年DBA工作经验,博客仅记录自己的一个学习过程,不代表完全准确,如有需要,欢迎转载。

注册时间:2015-02-02

  • 博文量
    348
  • 访问量
    1174888