πŸ’» Programming/Oracle 11g

[였라클/oracle] ORA-14086: a partitioned index may not be rebuilt as a whole

μΌ€μ΄μΉ˜ 2015. 4. 20. 17:03

인덱슀의 ν…Œμ΄λΈ”μŠ€νŽ˜μ΄μŠ€λ₯Ό λ³€κ²½ν•˜κΈ°μœ„ν•΄μ„œ μ•„λž˜μ™€ 같은 쿼리λ₯Ό λ‚ λ Έλ”λ‹ˆ 제λͺ©μ— 쓰인 였λ₯˜κ°€ 났닀.

 

SQL> alter index 인덱슀λͺ… rebuild tablespace ν…Œμ΄λΈ”μŠ€νŽ˜μ΄μŠ€λͺ…;

 

μ΄μœ μΈμ¦‰μŠ¨ μΈλ±μŠ€κ°€ νŒŒν‹°μ…”λ‹μ΄ λ˜μ–΄λ²„λ €μ„œ ν•œλ²ˆμ— rebuildν•  수 μ—†λ‹€λŠ” μ–˜κΈ°

ν•΄λ‹Ή μΈλ±μŠ€κ°€ νŒŒν‹°μ…”λ‹μ΄ λ˜μ–΄μžˆλŠ”μ§€λŠ” μ•„λž˜μ™€ 같은 λͺ…λ Ήμ–΄λ‘œ 확인할 수 μžˆλ‹€.

 

SQL> select index_name,partitioned from dba_indexes where partitioned='YES' and table_name='ν…Œμ΄λΈ”λͺ…';

 

자 그럼 μ–΄λ–»κ²Œ ν•΄μ•Όν• κΉŒ?? μΈλ±μŠ€κ°€ νŒŒν‹°μ…”λ‹μ΄ λ˜μ—ˆλ‹€λŠ” μ–˜κΈ°λŠ” ν…Œμ΄λΈ”μ΄ νŒŒν‹°μ…”λ‹μ΄ λ˜μ–΄μžˆλ‹€λŠ” μ–˜κΈ°κ°™μ€λ°....그럼 이제 이 μΈλ±μŠ€κ°€ μ–΄λŠ νŒŒν‹°μ…˜μ—μ„œ μ‚¬μš©μ΄ λ˜λŠ”μ§€ ν™•μΈν•΄μ„œ 각 νŒŒν‹°μ…˜λ³„λ‘œ 인덱슀λ₯Ό rebuildν•˜λ©΄ 될것 같은데??

 

μš°μ„  이 μΈλ±μŠ€κ°€ μ–΄λŠ νŒŒν‹°μ…˜μ—μ„œ μ‚¬μš©λ˜λŠ”μ§€ ν™•μΈν•΄λ³΄μž.

SQL> select index_name, partition_name from dba_ind_partitions where index_name='인덱슀λͺ…';

 

INDEX_NAME                     PARTITION_NAME
------------------------------ ------------------------------
EE                             ARCH_STATE
EE                             CURR_STATE
EE                             PREV_STATE

그리고 각 νŒŒν‹°μ…˜μ— λŒ€ν•΄μ„œ 인덱슀λ₯Ό rebuildν•˜μž.

SQL>  alter index ee rebuild partition  ARCH_STATE;
Index altered.

SQL>  alter index ee rebuild partition  CURR_STATE;
Index altered.

SQL>  alter index ee rebuild partition  PREV_STATE;
Index altered.

κ²Œμž„ μ˜€λ°”~!! 

alter index ee rebuild partition  ARCH_STATE;