글수 81
오라클 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
------------------------------ ------------------------------ ------------------------------ -------------------------------------------
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
------------------------------ ------------------------------ ------------------------------ -------------------------------------------
TB_SB_DEL_CUST_20080506 CBADM TBS01 448.671875

이 글의 권한은 dbtown.net 에 있습니다.
자료를 스크랩하실땐 출처를 밝혀주세요 ^^
Skin Technical Note
Sites validated CSS, XHTML & IE6, IE7, FireFox, Opera and Safari Accessiable. Generator & Powered by Zeroboard XE. This site inspired by Slabovia and developed by WTA

