【问题标题】:Finding the SubPartition Key Column and List values in Oracle Table在 Oracle 表中查找子分区键列和列表值
【发布时间】:2021-05-17 10:59:45
【问题描述】:

我不是 DBA 而是开发人员,我需要使用具有 PARTITIONING_TYPE RANGE 和 SUBPARTITIONING_TYPE LIST 的现有表。我可以从ALL_PART_KEY_COLUMNS 表中看到如下所示的分区键列。

我如何知道什么是 SubPartition Key Column 及其预定义列表?如果您碰巧知道这一点,请提供帮助。

【问题讨论】:

    标签: sql oracle database-partitioning


    【解决方案1】:

    您可以加入三个user_前缀类型的字典视图而不是all_,以便能够从普通用户那里查询例如

    SELECT s1.column_name AS "Key Column", s2.subpartition_name AS "Subpartition Names"
      FROM user_subpart_key_columns s1 
      JOIN user_part_key_columns p
        ON s1.name = p.name
      JOIN user_tab_subpartitions s2
        ON s2.table_name = p.name  
     WHERE s1.name = 'YOUR_TABLE'   
     ORDER BY s2.subpartition_position
    

    【讨论】:

    • 谢谢,我正在使用 RO 用户读取表格,而不是使用所有者的用户,这可能是个问题吗?
    • 嗨@DivyaMV。是的,除非user_ 前缀被替换为all_,否则这将是个问题。
    • 再次感谢,它有帮助。我想了解更多,当 SubPartition 是 LIST 时,我们不应该在定义 SubPartition 时在模板中提供允许值的静态 LIST 吗?我在输出中看到各种 subpartitionNames..我认为会有一个明确定义的值列表..如果这是正确的,我在哪里可以找到 SubPartition 的确切模板..?
    • 我作为开发人员的问题是,我想我正在为 SubPartionKey 列插入一个不允许的值。我想找到它的根本原因。
    • 不客气@DivyaMV。无论子分区是 LIST 还是 RANGE 类型,您都可以通过在当前查询中添加 s2.high_value 来显示那些定义的静态值。
    猜你喜欢
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多