2014-03-31 3 views
1

데이터베이스의 크기가 2.5TB를 초과했습니다. 이제 데이터를 제거해야하며 테이프로 옮겨야합니다. 그것의 재무 데이터와 지금은 전 회계 년도 데이터 만 보관해야합니다. 나는 전체 데이터베이스를 저장할 공간이 없다.오라클 테이블 일부분 내보내기

내 요구 사항은 특정 기간의 데이터를 백업하고 테이프로 이동하는 것입니다.

미리 감사드립니다.

답변

0

파티션 된 테이블을 만들 수 있습니다. 각 파티션에는 고유 한 저장 영역 절이 있으므로 다른 매체에서도 서로 다른 테이블 공간에 저장할 수 있습니다. 분할 된 테이블에서 필요한 경우 단일 분할 영역을 쉽게 내보내고 나중에 삭제할 수 있습니다.

예 : 당신이 partitionized 테이블에 기존 테이블을 다시 정의 할 수 있습니다 DBMS_REDEFINITION 패키지와

CREATE TABLE MY_TABLE(
    COL_A NUMBER, 
    COL_DATE DATE) 
TABLESPACE SMALL_DATA 
PARTITION BY RANGE (COL_DATE) 
( 
    PARTITION VALUES LESS THAN (TO_DATE(' 1900-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) TABLESPACE OLD_DATA, 
    PARTITION VALUES LESS THAN (TO_DATE(' 2013-04-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) TABLESPACE CURRENT_DATA 
); 

. 재정의를 위해 테이블에 사용되는 공간을 두 배로 늘려야한다는 점에 유의하십시오.