보통 오라클을 사용하시다보면 TOAD, GOLDEN , SQL Developer 등을 사용하게 됩니다.
이번 방법은 ui 를 통해 index rebuild 하는 방법이 아닌 sql문을 통해 인덱스 리빌드 방법에 대해서 알려드리겠습니다.
일단 cmd 창을 키고 index rebuild 가 필요한 계정에 접속 합니다.
Microsoft Windows [Version 10.0.15063]
(c) 2017 Microsoft Corporation. All rights reserved.
C:\Users\>sqlplus 해당하는계정/해당하는계정비밀번호
SQL*Plus: Release 11.2.0.2.0 Production on 수 5월 29 19:25:30 2019
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL>
이후에
1. select index_name from user_indexes;
// 인덱스 조회하는 명령어
2. alter index 인덱스명 rebuild
// 인덱스 리빌드하는 명령어
명령어를 통해 1번으로 인덱스를 조회 후 2번으로 인덱스를 리빌드 합니다.
1.
SQL> select index_name from user_indexes;
INDEX_NAME
------------------------------------------------------------
PK_TEST1
IDX_TEST2
PK_TEST3
IDX_TEST4
IDX_TEST5
PK_TEST6
PK_TEST7
SYS_IL0000032323C00004$$
PK_TEST8
PK_TEST9
PK_TEST10
INDEX_NAME
------------------------------------------------------------
PK_TESTINFO
PK_TESTINFO2
PK_TESTINFO3
PK_TESTINFO_TEST
PK_TESTINFOTEST
PK_TESTINFO4
17 rows selected.
2.
SQL> ALTER index PK_TEST1 rebuild;
Index altered.
인덱스 리빌드 완료 입니다.
하지만 이럴경우 17개의 인덱스를 일일이 쳐야 하기 때문에 좀더 쉬운 SQL 문이 있습니다.
3.
select 'alter index '||index_name||' rebuild ;' from user_indexes;
// 인덱스 리빌드 조회 + 인덱스 리빌드 실행시 사용되는 명령어 자동 생성 쿼리 (1,2 번 따로 진행 안하고 3번 부터 진행 해도 문제 없음)
3번을 sql에 칠 경우
'ALTERINDEX'||INDEX_NAME||'REBUILD;'
--------------------------------------------------------------------------------
alter index PK_RTBS rebuild ;
alter index IDX_TTBERGTDT_AVRTIME rebuild ;
alter index IDX_THDGHDT_COUNT rebuild ;
alter index IDX_TIDFGDYR_LIST rebuild ;
alter index PK_TGST rebuild ;
alter index PK_THIS rebuild ;
alter index PK_TJTRST rebuild ;
alter index SYS_IL0000032323C00004$$ rebuild ;
alter index PK_TGDFGO rebuild ;
alter index PK_TVBTRYT rebuild ;
alter index PK_TBDFBGYNFO rebuild ;
'ALTERINDEX'||INDEX_NAME||'REBUILD;'
--------------------------------------------------------------------------------
alter index PK_ rebuild ;
alter index PK_HFGUTRNGFO rebuild ;
alter index PK_TDHGFHFGINFO rebuild ;
alter index PK_DFHFGHFGO_NS rebuild ;
alter index PK_TSGHSHGLINFO rebuild ;
alter index PK_HDGHFFT rebuild ;
17 rows selected.
이런식으로 자동으로 명령어를 복사 붙혀넣기 할수있게 나옵니다.
저 내용들을 긁어서 실행하면 자동으로 인덱스 리빌드가 진행 됩니다.
4. 마지막으로 COMMIT; 은 필수 입니다.
SQL> COMMIT;
Commit complete.