苍雪明南

做人如果没有梦想,跟咸鱼有什么分别。不要让时代的悲哀,成为你自己的悲哀。

  • 博客访问: 417289
  • 博文数量: 480
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-08 17:42
  • 认证徽章:
ITPUB论坛APP

ITPUB论坛APP



APP发帖 享双倍积分

文章分类

全部博文(480)

文章存档

2018年(12)

2017年(209)

2016年(242)

2015年(17)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

分类: Oracle

原文地址:查询一个表插入数据的时间,按BLOCK时间 作者:lovehewenyu

用sql语句查看oracle表每条记录的创建时间(ora_rowscn)

      有时要查看表中的那条记录是什么时候创建的,有的会去用logminer去查看,有的会用闪回查询,其实很简单,不用那么麻烦,oracle的建每张表时都会建一个隐含的字段ora_rowscn,看到这个字段的名字,有写人会想到scn?对了,oracle在向表中插入记录时会记录插入记录时当前数据库的scn,那么聪明的你很快就会想到,既然有每条记录的scn,那么通过scn不就能查到每条记录的创建时间啦?全对!
      只要一句话,就可以轻松查看表记录的生成时间,相信这个应该会有帮助的!
      举个例子:
      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。
      所以要想查看准确的记录创建时间则在建表时要加rowdependencies选项!

 

 

感谢笔者 http://www.cnblogs.com/xuanyuanvista/archive/2009/08/25/ora_rowscn.html

阅读(100) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册