반응형

오라클 8.1 이상에는 MOVE TABLESPACE 명령어로 TABLESPACE 변경이 가능하다

또한 MOVE TABLESPACE 시 REORRG 를 하는 효과도 있다.

그래서 대상 테이블이 fragmentaion 이 많이 일어났을 경우 SIZE 가 줄어들게 된다.

1. TABLE

aler table 테이블명 move tabledpace 테이블스페이스명;

 

2. INDEX

alter index 인덱스명 rebuild tabledpace 테이블스페이스명;

 

일괄 작업시 아래의 스크립트를 돌리도록 하자.

 

select 'alter table ' || segment_name || ' move tablespace ' || tablespace_name from user_segments;


  

SQL> select segment_name, owner, tablespace_name, bytes/1024/1024 from dba_segments where owner='CBADM';

 

SEGMENT_NAME                   OWNER                          TABLESPACE_NAME                BYTES/1024/1024

------------------------------ ------------------------------ ------------------------------ -------------------------------------------

TB_SB_DEL_CUST_20080506        CBADM                          TBS01                               700.671875


 

SQL>ALTER   TABLE  CBADM.TB_SB_DEL_CUST_20080506   MOVE   TABLESPACE  TBS01  ;

 

SQL> select segment_name, owner, tablespace_name, bytes/1024/1024 from dba_segments where owner='CBADM';

 

SEGMENT_NAME                   OWNER                          TABLESPACE_NAME                BYTES/1024/1024

------------------------------ ------------------------------ ------------------------------ -------------------------------------------

TB_SB_DEL_CUST_20080506        CBADM                          TBS01                               448.671875

반응형

'데이터베이스' 카테고리의 다른 글

Windows 에서 Oracle listener.log Cutting 방법  (0) 2021.11.19
Archive Mode 로 전환  (0) 2021.11.19
Oracle RMAN  (0) 2021.11.19
Oracle11g 설치  (0) 2021.11.19
오래된 archivelog 정리 방법  (0) 2021.11.19

+ Recent posts