想查询ORACLE数据库里所有的分区表的分区字段和子分区字段,请问在哪些表里可以查到?

解决方案 »

  1.   

    select * from dba_extents where owner = '' and segment_type in ('TABLE PARTITION', 'TABLE SUBPARTITION');
      

  2.   

    上面的SQL语句,把owner=''这里换成你自己的用户名;
    dba_extents表中,'partition_name'这个字段就是(子)分区字段名。
      

  3.   

    SQL> desc dba_extents;
     名称                                                  是否为空? 类型
     ----------------------------------------------------- -------- ---------------
    --------------------
     OWNER                                                          VARCHAR2(30)
     SEGMENT_NAME                                                   VARCHAR2(81)
     PARTITION_NAME                                                 VARCHAR2(30)
     SEGMENT_TYPE                                                   VARCHAR2(18)
     TABLESPACE_NAME                                                VARCHAR2(30)
     EXTENT_ID                                                      NUMBER
     FILE_ID                                                        NUMBER
     BLOCK_ID                                                       NUMBER
     BYTES                                                          NUMBER
     BLOCKS                                                         NUMBER
     RELATIVE_FNO                                                   NUMBER
    兰兰姐厉害
      

  4.   

    可能是我没说清楚,我要的是分区表里用于分区或者子分区的字段名,而不是分区名
    dba_extents表中,'partition_name'这个字段的值应该是分区或子分区的分区名