怎么用Oracle10g新的行时间戳捕捉变化
数据仓库经常通过多种数据源系统填充,而每种系统都运行有自己的应用程序。所以为了能给数据仓库只提供新数据,确定哪些是最近更新的行是一件非常复杂的事。在处理一些其架构中不包括“上次更新时间”列的过时软件时,这尤其是一个难题。企业自然不情愿仅仅为了追踪变化而通过修改工作代码来添加列。
在Oracle 10g中,在行最后一次被更新的时候,每一行都有一个新的被称作ORA_ROWSCN的伪列。 ORA_ROWSCN 提供了一个“保守上边界(conservative upper bound)”系统改变数,用来记录最近被修改的行的事务。这就意味着系统改变数(SCN)是一个估计值,因为在Oracle中系统改变数只能默认在模块级被追踪。
例如在列表A中,ORA_ROWSCN 在处理一个小表格时被选中,一行被更新后,ORA_ROWSCN 再次被选中。
|
即使只有一行被改动了,剩下的也会显示一个新的.系统改变数(SCN)。(更准确地说,你可以在一个表第一次被创建时,使用行级系统改变数追踪。但遗憾的是,你不能够更改该表格,以便在以后加入该特性。)所以如果被更新的块数比表中的块数要少,这也可以成为一种发现变化的方法,而不用涉及太多额外的行。
如果你需要与事务有关的日期和时间应该怎么办呢?SCN_TO_TIMESTAMP函数可以将ORA_ROWSCN 转换成为一个时间戳,利用它你可以进行查询,或者把它用作一个WHERE 子句的谓语。但是,这个时间戳仍然是一个估计值。
ORA_ROWSCN 也是将系统改变值(SCN)用作闪回查询捷径(尽管RA_ROWSCN 本身在闪回中并不能被选中)的一种很方便的方法,不然就要用闪回形式查询,选中VERSIONS_STARTSCN 和VERSIONS_ENDSCN 伪列。
列表B是一次闪回查询,它用一个小于当前值的系统改变值来获得一个数据行原来的值。我们发现King的工资回到了5000,而ORA_ROWSCN的值则是最初的系统改变值。
|
-
Oracle数据库认证层次
由于Oracle产品的特殊性,作为全球最大的数据库厂商,Oracle在行业中有着不容置疑的地位,而数据库又是整个IT行业中的关键和核心应用,特别是大型企业级数据库,更是高端中的高端。以下是小编整理的Oracle数据库认证层次,希望大家认真阅读!获得Oracle认证就如同获得大企...
-
Oracle认证职业前景
在Oracle的网站上,Oracle公司详细列举了获得OCP认证的种种好处,虽然有自卖自夸之嫌,但总的来说还是很有道理的。总的来说,IT业对专家的要求很高,职业竞争压力很大。无论是新进入这个行业的'人,还是此行业中的老手,都需要知道他们的那些技术背景能真正吸引到雇主的眼...
-
虚拟专用数据库概述
虚拟专用数据库是一项重要技术,使企业能够构建托管的、基于Web的应用程序。实际上,许多Oracle应用程序本身使用VPD实施数据分隔,包括Oracle和OraclePortal等程序。下面小编为大家整理了关于虚拟专用数据库概述的文章,希望能为你提供帮助:概述虚拟专用数据库(VPD)提...
-
Oracle认证:OracleTRUNC函数详解
C函数OracleTRUNC函数可以截取数字和日期类型:C截取数字TRUNC(number)函数返回n1截取到n2位小数。如果省略n2时,则n1截取到0位置(即截取所有小数位)。如果n2为负数时,表示截取小数点左边的n2位,被截取部分记为0.2.1语法其语法格式如下:TRUNC(n1[,n2])其中:n1为待截取...
相关文章
- Oracle认证:ORACLE绑定变量BINDPEEKING
- 关于表空间不足时Oracle管理Recyclebin
- 英语阅读例文:A garbage collector
- 中考英语阅读理解训练及答案:A garbage collector
- 英语作文:大学生村官 College Graduates Work as Village Offic
- 大学英语四级作文College Graduates Work
- Choice of large enterprises or small英语四级作文
- 表空间不足时Oracle管理Recyclebin的方法
- Oracle认证:Win7下Oracle11g完全删除
- Oracle认证:Oracle内存结构研究-PGA篇