【问题标题】:Why is the ora-archive-state column a varchar2 4000 chars?为什么 ora-archive-state 列是 varchar2 4000 字符?
【发布时间】:2020-07-16 13:50:56
【问题描述】:

有人能解释一下为什么 Oracle 将 ora-archive-state 列设为 varchar2 的 4000 个字符吗?在使用 Oracle 12c 的数据库内归档特性时,当列为 0 时,记录可见。当为 0 以外的任何值时,记录被隐藏。

当简单地将列设置为 1 时,额外的 3999 个字符的目的是什么?我怀疑 Oracle 只是在浪费空间。

【问题讨论】:

    标签: oracle archiving


    【解决方案1】:

    因为它允许您以不同方式标记“已归档”行:您可以将 ORA_ARCHIVE_STATE 更新为不同的值,例如:to_char(systimestamp,'yyyy-mm-dd hh24:mi:ssxff') 将其设置为归档日期。稍后您可以通过此列分析归档记录。

    我怀疑 Oracle 只是在浪费空间。

    Varchar2 不会浪费空间。它是变长字符串。即 varchar2(4000b) 并不意味着它将使用 4000 个字节,或者 varchar2(4000c) ~ chars。这只是允许的最大列长度

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-23
      • 2019-12-23
      • 1970-01-01
      • 1970-01-01
      • 2012-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多