【问题标题】:When does Oracle ora_rowscn wrapOracle ora_rowscn 何时换行
【发布时间】:2013-12-18 21:24:17
【问题描述】:

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

但是,我找不到 ora_rowscn 换行时会发生什么以及 ora_rowscn 的数据类型到底是什么。

有人能解释一下吗?

当使用浮点列通过 SSIS 导入 ora_rowscn 时,建议使用浮点列,因为到目前为止我使用 bigint 是一个整数值。

文档:

那么ora_rowscn 能得到的最大的是什么?

【问题讨论】:

    标签: sql oracle ssis data-warehouse


    【解决方案1】:

    来自Ask Tom,回答问题:

    当 COMMIT 发生时,SCN 加一。这是一个序列吗?当它必须回收时,它是否会走到尽头?

    汤姆说:

    它不是一个序列,它只是一个内部数字,它不是 像序列一样维护在 seq$ 中(它不能,它用于 管理数据文件,不能在数据文件的表中)

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

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

    大约两年前because of bugs 有很多关于 SCN 的讨论。有人提到,软限制为 16384 * 自 1988 年 1 月 1 日以来的秒数。我没有任何官方的链接,但它应该让你很好地了解它在近期或中期的未来可能会达到多高。即使当时确实如此,它也可能在 12c 中发生了变化,或者在未来再次发生变化,因为处理能力允许达到该软限制(即使没有错误)。

    【讨论】:

    • 这增加了我的解决方案的信心。虽然我还在想它到底能达到什么尺寸……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-01
    • 1970-01-01
    • 2015-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    相关资源
    最近更新 更多