Oracle数据库表中隐藏的时间特性,可以用于时间增量查询;基于此种伪列所提供的信息,我们可以方便地找出某个数据块或某一个行最近被修改的时间戳。它又分为两种模式:一种是基于block这是默认的模式(块级跟踪,非行依赖性(NOROWDEPENDENCIES));还有一种是基于row上,这种模式只能在建里表时指定ROWDEPENDENCIES(行级跟踪),不可以通过后期的alter table语句来将表修改为ROWDEPENDENC;
官方文档介绍:https://docs.oracle.com/cd/E11882_01/server.112/e41084/pseudocolumns007.htm#SQLRF50953
SELECT ORA_ROWSCN FROM SCOTT.TABLENAME查询系统更改编号,SCN_TO_TIMESTAMP
将计算到系统更改编号 (SCN) 的数字作为参数,并返回与该 SCN 关联的近似时间戳。返回的值为数据类型。
https://docs.oracle.com/cd/E11882_01/server.112/e41084/functions161.htm#SQLRF06325
SELECT TO_CHAR(scn_to_timestamp(ORA_ROWSCN), 'YYYY-MM-DD HH24:MI:SS') FROM SCOTT.TABLENAME可以将时间戳转换为日期格式,如果表中存在超过5天的数据执行上述sql语句会出现如下错误;
执行SELECT ORA_ROWSCN FROM SCOTT.TABLENAME不报错,可以通过限定scn系统编号范围将大于5天的ora_rowscn排除掉再转换成时间戳进行查询。