暂无图片
oracle 分区表 分区索引
我来答
分享
佳佳
2021-05-25
oracle 分区表 分区索引

问一个分区表的问题:

今天通过如下SQL查到分区索引TABLE_LOG_I的情况,
看到既有INDEX,又有INDEX PARTITION。是不是这个分区索引,既是本地索引分区,又是全局索引?

oracle支持在一个分区表的索引上,既创建本地索引分区,又创建一个全局(非分区)索引吗?

SQL> select segment_name, segment_type,partition_name,bytes/1024/1024 "MB" 
  2  from dba_segments 
  3  where segment_name in 
  4  (select index_name from dba_indexes where table_name = '&table_name' and owner='&owner') order by 1,3; 
Enter value for table_name: TABLE_LOG

SEGMENT_NAME                   SEGMENT_TYPE               PARTITION_NAME                   MB
------------------------------ --------------------- ------------------------------ ----------
TABLE_LOG_I            INDEX PARTITION                      TABLE_LOG_2020_09_09     943.4375
TABLE_LOG_I            INDEX PARTITION                      TABLE_LOG_2020_10_10         1566
TABLE_LOG_I            INDEX PARTITION                      TABLE_LOG_2020_11_11         1977
TABLE_LOG_I            INDEX PARTITION                      TABLE_LOG_2020_12_12        930.5
TABLE_LOG_I            INDEX PARTITION                      TABLE_LOG_2021_01_01       921.75
TABLE_LOG_I            INDEX PARTITION                      TABLE_LOG_2021_02_02          875
TABLE_LOG_I            INDEX PARTITION                      TABLE_LOG_2021_03_03    1257.9375
TABLE_LOG_I            INDEX PARTITION                      TABLE_LOG_2021_04_04     1199.625
TABLE_LOG_I            INDEX PARTITION                      TABLE_LOG_2021_05_05         1582
TABLE_LOG_I            INDEX PARTITION                      TABLE_LOG_2021_06_06        .0625
TABLE_LOG_I            INDEX PARTITION                      TABLE_LOG_2021_12_12        .0625
TABLE_LOG_I            INDEX PARTITION                      TABLE_LOG_2022_01_01        .0625
TABLE_LOG_I            INDEX PARTITION                      TABLE_LOG_2022_02_02        .0625
TABLE_LOG_I            INDEX                                                             1031



select OWNER,TABLE_NAME,INDEX_NAME,PARTITIONING_TYPE,PARTITION_COUNT,LOCALITY,ALIGNMENT,DEF_TABLESPACE_NAME,DEF_LOGGING  
 from dba_part_indexes where table_name='&table_name' and OWNER='&OWNER'; 
SEGMENT_NAMe           SEGMENT_TYPE                                 MB
------------------------------ ------------------------------------ ----------
TABLE_LOG_I            INDEX                                      1031
TABLE_LOG_I            INDEX PARTITION                          15380.4375
复制
我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
子林

你从这个视图里查到的是分区索引。但不代表就一定是本地索引。全局索引也可以分区,也可以不分区。

暂无图片 评论
暂无图片 有用 0
打赏 0
cqiwen

先查下索引状态,看下是不是那个非分区索引已经失效了。如果找不到问题,可以看下TABLE_LOG的DDL中是怎样创建index的。

select index_name,table_name,status,partitioned,num_rows from user_indexes where index_name=‘TABLE_LOG_I’;

暂无图片 评论
暂无图片 有用 0
打赏 0
流星

执行select dbms_metadata.get_ddl(‘INDEX’,‘YOUR_INDEX_NAME’,‘YOUR_OWNER’) from dual; 把结果贴出来看看

暂无图片 评论
暂无图片 有用 0
打赏 0
朱贺

你的第二个查询结果展示不对,第二个查询中的locality就是针对分区表查询索引是否是local 还是 global的。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏