Oracle如何判定分區表索引是全局分區還是本地分區索引?分區表是自動增長還是非自動增長?
--索引全局還是本地
SELECT DISTINCT (B.LOCALITY)
FROM DBA_PART_INDEXES B
WHERE B.TABLE_NAME = 'TEST'
AND B.OWNER = 'A';
--是否自增長分區
SELECT DISTINCT A.INTERVAL
FROM DBA_TAB_PARTITIONS A
WHERE A.TABLE_NAME = 'TEST'
AND A.TABLE_OWNER = 'A';
---以上合並查詢
SELECT DISTINCT A.INTERVAL, B.LOCALITY
FROM DBA_TAB_PARTITIONS A, DBA_PART_INDEXES B
WHERE A.TABLE_OWNER = B.OWNER
AND A.TABLE_NAME = B.TABLE_NAME
AND A.TABLE_NAME='TEST'
AND A.TABLE_OWNER ='A';
--查詢結果:LOCAL 意味着是本地索引;GLOBAL 則意味着是全局索引;
--查詢結果:NO 意味着分區表非自增長; YES 意味着分區表自增長;
---單表分區表,但是索引不是local
select aa.owner, aa.table_name, aa.index_name, aa.index_type
from dba_indexes aa
where aa.table_name = 'T_PTS_QR_COUPON_TRANDATA'
and aa.index_name not in
(select b.index_name
from DBA_PART_INDEXES B
where B.TABLE_NAME = 'T_PTS_QR_COUPON_TRANDATA')
--針對全庫 分區表,但是索引不是local
select t.owner,t.table_name,i.index_name
from dba_part_tables t,dba_indexes i
where i.table_owner=t.owner
and i.table_name=t.table_name
and i.PARTITIONED='NO';