我正在使用ora_rowscn从oracle数据库进行delta加载到MS SQL Server数据仓库。这很好用。
但是,我无法找到ora_rowscn
包装时发生的情况以及ora_rowscn
的数据类型确实是什么。
有人能说清楚吗?
使用浮点列导入带有SSIS的ora_rowscn
时会出现sugested,因为它是一个整数值,我到目前为止已经使用了bigint
。
文档:
ROWDEPENDENCIES
需要6个字节,每个ora_rowscn
值是6个字节吗?那么最大的ora_rowscn
可以获得什么?
答案 0 :(得分:2)
来自Ask Tom,回答问题:
汤姆说:当COMMIT发生时,SCN增加1。这是一个序列吗?它必须回收时是否能达到目的?
它不是一个序列,它只是一个内部数字,它不是 维持在seq $之类的序列(它不能,它习惯了 管理数据文件,它不能在数据文件中的表中)
它不会回收,它可以很高,你可以生成 每秒数千,仍然需要等待数十万 我们筋疲力尽之前的几年。
当行(或其块)受到事务影响时,ora_rowscn
伪列显示SCN,因此它不会换行/回收。
大约两年前有很多关于SCN的讨论because of bugs。有人提到,自1988-01-01以来,软限制为16384 *秒。我没有任何官方说明的链接,但它应该让你很清楚它在近期或中期的未来有多高。即使那是真的,它也可能在12c中发生变化,或者在未来再次改变,因为处理能力允许达到软限制(即使没有错误)。