在Oracle中没有“创建于”列时查询数据导入日期的功能

时间:2018-07-04 10:12:02

标签: oracle timestamp

我有一个只读的Oracle Spatial dB。每小时通过FME工作流程导入数据。尚未创建用于导入时间戳记的列。

我想知道Oracle是否将其存储在内部某个地方,是否有某些功能可以查询此数据?

1 个答案:

答案 0 :(得分:1)

是的,确实如此。它在每个数据库块(或如果使用ROWDEPENDENCIES创建表的每一行)中存储最后一次更改的系统时钟(“系统更改号” / SCN)。

您可以将其用作伪列,因此只需将其添加到查询中即可:

SELECT id, ora_rowscn FROM my_table;

在最近的x天中,Oracle保留了一个将SCN实时转换为实时数据的转换表,您可以将其与函数SCN_TO_TIMESTAMP一起使用:

SELECT id, ora_rowscn, scn_to_timestamp(ora_rowscn) FROM my_table;

详细信息和文档为here