'partition'에 해당되는 글 1건

  1. 2015.03.03 [Oracle] Partition Split

[Oracle] Partition Split

|

Partition Table 에 대해서 Split 하는 방법

상황
- RANGE Partition Table에서 2015년 03월 Partition을 생성하지 않고 2015년도 Partition을 생성한 경우

1. Split 할 Partition에 대해서 건수 확인
SELECT COUNT(1) AS CNT
FROM [OWN].[TAB] PARTITION(P201504);

2. [Split이전] Partition 에 대한 정보 확인
SELECT TABLE_OWNER,
TABLE_NAME,
PARTITION_NAME,
TABLESPACE_NAME,
HIGH_VALUE
FROM DBA_TAB_PARTITIONS
WHERE TABLE_NAME = '[TAB]';

3. Split Partition
ALTER TABLE [OWN].[TAB]
SPLIT PARTITION P201504 AT ('20150399999999')
INTO (PARTITION P201503, PARTITION P201504_02);

4. Partition Name 변경
ALTER TABLE [OWN].[TAB]
RENAME PARTITION P201504_02
TO P201504;

5. [Split이후]Partition 에 대한 정보 확인
SELECT TABLE_OWNER,
TABLE_NAME,
PARTITION_NAME,
TABLESPACE_NAME,
HIGH_VALUE
FROM DBA_TAB_PARTITIONS
WHERE TABLE_NAME = '[TAB]';

6. Split한 Partition 에 대해 연결된 Local Index Rename
ALTER INDEX [OWN].[TAB]_PK
RENAME PARTITION P201504_2 TO P201504;
ALTER INDEX [OWN].[TAB]_IX01
RENAME PARTITION P201504_2 TO P201504;

7. UNUSABLE Index에 대해서 Rebuild
ALTER INDEX [OWN].[TAB]_PK
REBUILD PARTITION P201503 ONLINE;
ALTER INDEX [OWN].[TAB]_PK
REBUILD PARTITION P201504 ONLINE;
ALTER INDEX [OWN].[TAB]_IX01
REBUILD PARTITION P201503 ONLINE;
ALTER INDEX [OWN].[TAB]_IX01
REBUILD PARTITION P201504 ONLINE;

8. Split이후 Partition에 대해서 건수 확인
SELECT COUNT(1) AS CNT
FROM [OWN].[TAB] PARTITION(P201503);

And
prev | 1 | next