龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

一条SQL语句实现查看Oracle表记录的生成时间

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
下面为你介绍SQL语句用于实现实现查看 Oracle 表记录的生成时间,如果您之前遇到过类似的问题,不妨一看。 有时要查看表中的那条记录是什么时候创建的,有的会去用logminer去查看,

下面为你介绍SQL语句用于实现实现查看Oracle表记录的生成时间,如果您之前遇到过类似的问题,不妨一看。

有时要查看表中的那条记录是什么时候创建的,有的会去用logminer去查看,有的会用闪回查询,其实很简单。

不用那么麻烦,oracle的建每张表时都会建一个隐含的字段ora_rowscn,看到这个字段的名字,有写人会想到scn?对了,oracle在向表中插入记录时会记录插入记录时当前数据库的scn,那么聪明的你很快就会想到,既然有每条记录的scn,那么通过scn不就能查到每条Oracle表记录的创建时间啦?全对!

只要一句话,就可以轻松查看Oracle表记录的生成时间,相信这个应该会有帮助的!

举个例子:

select to_char(scn_to_timestamp(ORA_ROWSCN),'yyyy-mm-dd hh24:mi:ss') insert_time from scott.emp;

结果将会看到emp表中每条记录创建时的时间。

默认情况下,每行记录的ORA_ROWSCN是基于Block的,这样是不准确的,除非在建表的时候执行开启行级跟踪(create table … rowdependencies),这样就会是在行级记录scn。

所以要想查看准确的Oracle表记录创建时间则在建表时要加rowdependencies选项!

带您了解Oracle恢复结构

详解Oracle物理结构

深入了解Oracle表空间

Oracle启动模式的三个阶段

Oracle数据库重新启动的方法

精彩图集

赞助商链接