DBA

개인 학습, 작업 기록용입니다. 올바르지 않은 정보가 있다면 댓글주시면 감사하겠습니다!

DATABASE/Oracle

[Oracle] 오라클 파티션테이블의 테이블스페이스 변경

DBnA 2022. 11. 3. 15:04

인터벌파티션 테이블 테이블 스페이스 변경

 

인터벌 파티션의 경우 자동으로 파티션을 생성해주므로

우선적으로 파티션 테이블의 디폴트 테이블 스페이스를 변경해주었다.

 

 

--파티션 테이블 디폴트 테이블스페이스 변경

alter table [테이블명] modify default attributes tablespace [변경할 테이블스페이스명];

 

--이미 생성된 파티션의 테이블 스페이스 변경

파티션별로 테이블 스페이스 변경 작업을 위한 스크립트 생성 실행

select 'ALTER TABLE [테이블명] MOVE PARTITION '|| partition_name || ' TABLESPACE  [변경할 테이블스페이스명];' 
  from dba_tab_partitions
 where table_name = '[테이블명]'
   and tablespace_name = '[변경전 테이블스페이스명]'
 order by partition_name;

 

 

--변경된 테이블스페이스 확인

select *
  from user_tab_partitions
 where table_name = '[테이블명]';

 

 

이번에 작업한 인터벌 파티션의 경우 인덱스가 없어서 작업이 수월했다.

인덱스가 있었다면, 인덱스 테이블스페이스 변경과 리빌드 작업 같이 해야함