Oracle 在Partition Table/Index中,找出最大的Partition Table/Index

在Partition Table/Index中,找出最大的Partition Table/Index

標籤: 

在Oracle10G中,常會使用partition table,好處是要刪除資料可以一次drop掉partition table,但
經過一段時間之後,需要增加partition table,若沒有增加,新的資料常會塞不進去,造成異常狀況。

以下的語法,是找出目前最大的Partition table,經過一段時間之後,記的要增加,不要忘記掉了。

Partition table找尋,當然是找ALL_TAB_PARTITIONS這一個TABLE了。

SELECT TABLE_NAME,max(PARTITION_NAME) FROM ALL_TAB_PARTITIONS WHERE TABLE_OWNER='STGC5'<–根據條件修改
group by TABLE_NAME order by max(PARTITION_NAME);

新增語法(以下是新增一季的partition table語法):

select 'ALTER TABLE '||TABLE_NAME||' ADD PARTITION P2014Q4 VALUE LESS THAN ( to_date(''20150101 00:00:00'',''YYYYMMDD HH24:MI:SS'') ) TABLESPACE STGC5_TRG_2014Q4;' 
from dba_tab_partitions t where table_owner='STGC5' AND PARTITION_NAME='P2013Q4';

 

 

Partition Index找尋,當然是找ALL_TAB_PARTITIONS這一個TABLE了。

SELECT INDEX_NAME,max(PARTITION_NAME) FROM ALL_IND_PARTITIONS WHERE INDEX_OWNER='STGC5' HAVING MAX(PARTITION_NAME)='P2013Q4' <–這一段根據條件修改
group by INDEX_NAME order by max(PARTITION_NAME);

因這一筆的範列partition index太少,所以只列出語法:

Alter index IDX_COMPDLTYPETIME_600A rebuild partition P2014Q1tablespace STGC5_TRG_IDX_2014Q1;

 

 

Reference:

Partition table種類:

http://www.dotblogs.com.tw/ricochen/archive/2009/10/17/11088.aspx

 

Partition說明/新增/刪除:

http://py3939.pixnet.net/blog/post/25312245-create-alert-partition-table