๐ป Programming/Oracle 11g
[์ค๋ผํด/oracle] ORA-14086: a partitioned index may not be rebuilt as a whole
์ธ๋ฑ์ค์ ํ ์ด๋ธ์คํ์ด์ค๋ฅผ ๋ณ๊ฒฝํ๊ธฐ์ํด์ ์๋์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ๋ ๋ ธ๋๋ ์ ๋ชฉ์ ์ฐ์ธ ์ค๋ฅ๊ฐ ๋ฌ๋ค.
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;