문서유형ㅣ기술정보
분야ㅣ관리/환경설정
적용제품버전ㅣ6FS07PS, 7FS02PS, 7FS03PS, 7FS04PS
문서번호ㅣTADTI148
개요
이미 생성되어 있는 INDEX에 대한 Tablespace 변경하는 시나리오입니다.
방법
1. 테스트 데이터 생성
테스트에 필요한 Tablespace, Table, Index를 생성합니다.
SQL> create tablespace ts1 datafile 'ts1.dtf' size 10M autoextend off; Tablespace 'TS1' created. SQL> create table test_t1 (c1 number, c2 varchar(10)); Table 'TEST_T1' created. SQL> create index test_idx on test_t1 (c1); Index 'TEST_IDX' created.
2. 인덱스 조회
생성한 Index의 Tablespace 를 확인합니다.
SQL> select index_name, table_name, tablespace_name
from user_indexes;
INDEX_NAME TABLE_NAME TABLESPACE_NAME
-------------- ------------ -----------------
TEST_IDX TEST_T1 USR
참고Index 생성 시 Tablespace name을 지정하지 않으면, USER의 DEFAULT TABLESPACE에 생성됩니다.
3. 테이블스페이스 조회
현재 생성되어 있는 Tablespace 리스트를 확인합니다.
SQL> select tablespace_name from dba_tablespaces TABLESPACE_NAME --------------------------------------------------------------------- SYSTEM UNDO TEMP USR SYSSUB TS1 6 rows selected.
4. INDEX REBUILD 수행
Tablespace 변경을 원하는 Index에 대해 rebuild를 수행합니다. 이때 tablespace를 지정합니다.
-- ALTER INDEX [인덱스명] rebuild tablespace [테이블스페이스명]; SQL> ALTER INDEX TEST_IDX rebuild tablespace ts1; Index 'TEST_IDX' altered.
주의
Index rebuild 시에는 해당 index를 사용하는 DML(INDEX / UPDATE / DELETE, 경우에 따라 SELECT) 대기 또는 실패할 수 있습니다.
5. 인덱스 조회
변경된 Tablespace를 확인합니다.
SQL> select index_name, table_name, tablespace_name
from user_indexes;
INDEX_NAME TABLE_NAME TABLESPACE_NAME
-------------- ------------ -----------------
TEST_IDX TEST_T1 TS1