我有一个大小超过2.5 TB的数据库,现在我需要在一段时间内删除数据并想要移动到磁带。它是一个财务数据,现在我只能保留以前的财务年度数据。我没有空间来保留整个数据库。
我的要求是备份特定持续时间的数据并转入磁带。
提前感谢你。
答案 0 :(得分: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
,您可以将现有表重新定义为分区表。请注意,要重新定义,您需要两倍的表格空间。