Oracle ora_rowscn什么时候换行

时间:2013-12-18 21:24:17

标签: sql oracle ssis data-warehouse

我正在使用ora_rowscn从oracle数据库进行delta加载到MS SQL Server数据仓库。这很好用。

但是,我无法找到ora_rowscn包装时发生的情况以及ora_rowscn的数据类型确实是什么。

有人能说清楚吗?

使用浮点列导入带有SSIS的ora_rowscn时会出现sugested,因为它是一个整数值,我到目前为止已经使用了bigint

文档:

那么最大的ora_rowscn可以获得什么?

1 个答案:

答案 0 :(得分:2)

来自Ask Tom,回答问题:

  

当COMMIT发生时,SCN增加1。这是一个序列吗?它必须回收时是否能达到目的?

汤姆说:

  

它不是一个序列,它只是一个内部数字,它不是   维持在seq $之类的序列(它不能,它习惯了   管理数据文件,它不能在数据文件中的表中)

     

它不会回收,它可以很高,你可以生成   每秒数千,仍然需要等待数十万   我们筋疲力尽之前的几年。

当行(或其块)受到事务影响时,ora_rowscn伪列显示SCN,因此它不会换行/回收。

大约两年前有很多关于SCN的讨论because of bugs。有人提到,自1988-01-01以来,软限制为16384 *秒。我没有任何官方说明的链接,但它应该让你很清楚它在近期或中期的未来有多高。即使那是真的,它也可能在12c中发生变化,或者在未来再次改变,因为处理能力允许达到软限制(即使没有错误)。