问题如下:
当建立一张表(例如table1)并对其分区时,使用语句
select * from user_extents where segment_type ='TABLE PARTITION'
可以查表中table1的分区;
但是如果对table1的分区进一步划分子分区,则相同的语句则查询不到table1的分区信息。即分区信息没有写入user_extents。请教这是怎么回事?

解决方案 »

  1.   

     select TABLE_NAME,partition_name,SUBPARTITION_name,subPARTITION_POSITION from USER_TAB_SUBPARTITIONS where table_name='TAB_NAME';
      

  2.   

    貌似楼上没有回答我的问题
    我的意思是user_extents只记录了没有子分区的分区
      

  3.   

    如果有子分区,那segment_type 变成TABLE SUBPARTITION啊。应该用如下sql查:
       select * from  DBA_EXTENTS t where t.segment_type='TABLE SUBPARTITION';
      

  4.   

    这种问题 换个思路就能定位出来了:
    查信息的时候为什么要用 segment_type,而不用segment_name 去查。