【问题标题】:What are Oracle hidden fields?什么是 Oracle 隐藏字段?
【发布时间】:2011-11-02 11:27:19
【问题描述】:

ALL_TAB_COLSALL_TAB_COLUMNS 的不同之处在于隐藏的列不会被过滤掉。

什么是隐藏字段?

此视图与“ALL_TAB_COLUMNS”的不同之处在于隐藏列是 没有被过滤掉。

【问题讨论】:

    标签: oracle hidden-field


    【解决方案1】:

    隐藏列是表中存在但无法选择的列。 Oracle 创建隐藏列的原因有很多——其中两个更常见的原因是

    • 当列被标记为未使用但未删除时,它会被隐藏
    • Oracle virtual columns 在表中创建隐藏列

    各种其他 Oracle 功能也可能会创建隐藏列,尽管这些功能往往更深奥(即,如果内存提供服务,interMedia 会创建几个隐藏列来跟踪各种数据位)。

    【讨论】:

    • “Oracle 虚拟列在表中创建隐藏列”不太正确。虚拟列未隐藏(它们将显示在 select * from table 中)。 Oracle 仅在 12c 中添加了显式“不可见”/隐藏列。
    • 隐藏列也用于支持时间有效性——您可以在其中增强数据的日期/时间查询,因为它存在于某个时间点。见oracle.com/webfolder/technetwork/tutorials/obe/db/12c/r1/ilm/…
    【解决方案2】:

    Oracle 在内部使用它们(请参阅http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96594/adobjadv.htm)并且您可以为自己的表定义此类列...当未经适当授权访问时,它们显示 NULL 而不是实际值(请参阅http://www.techrepublic.com/article/hide-sensitive-data-with-oracle-10g-column-masking)...

    【讨论】:

      猜你喜欢
      • 2012-04-08
      • 2011-02-22
      • 2015-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多