본문 바로가기

DB/Tibero

[Tibero,oracle] table, index, LOB 의 tablespace 변경

 

1. segments 확인 ( 테이블 , 인덱스, LOB 대한 테이블 스페이스 정보 확인)
  
-- 세그먼트 확인  
select * from user_segments

-- lob  확인
select * from user_lobs;

 

 

2. 전체  테이블스페이스 변경 스크립 추출

 

-- 테이블 스페이스 변경
select 'alter table ' || segment_name || ' move tablespace 테이블스페이스명;' from user_segments  where SEGMENT_TYPE = 'TABLE';

-- 인텍스 페이블 스페이스 변경
select 'alter index ' || segment_name || ' REBUILD TABLESPACE 테이블스페이스명;' from user_segments  where SEGMENT_TYPE = 'INDEX';
 => 변경 쿼리 실행 할때 해당 오류 발생시  java.sql.SQLException: JDBC-7126:Unable to alter or drop a LOB index.  
    LOB 대한 변경 작업 우선 진행

-- LOB 대한 변경 작업
select 'alter table ' || TABLE_NAME || ' move lob('|| COLUMN_NAME ||') store as (tablespace 테이블스페이스명);' from user_lobs;

-- 나머지 인덱스 변경 작업