오라클 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 |