2014-03-31 55 views
1

我有一個數據庫的大小超過2.5TB,現在我需要在一段時間內刪除數據並且想要移動到磁帶。它是一個財務數據,現在我只能保留以前的財務年度數據。我沒有空間來保存整個數據庫。導出一部分Oracle表

我的要求是備份特定持續時間的數據並移入磁帶。

感謝您提前。

回答

0

您可以創建分區表。每個分區都有自己的存儲子句,因此可以存儲在不同的表空間中 - 即使在不同的介質上。 從分區表中,如果需要,您可以輕鬆導出一個分區,然後放下。

實施例:

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 
); 

隨着包DBMS_REDEFINITION可以重新定義現有的表的表partitionized。請注意,爲了重新定義,您需要使用表格的兩倍空間。