【问题标题】:Exporting a portion of Oracle table导出 Oracle 表的一部分
【发布时间】:2014-03-31 12:25:23
【问题描述】:

我有一个大小超过 2.5 TB 的数据库,现在我需要在一段时间内删除数据并想移动到磁带上。它是一个财务数据,现在我只需要保留以前的财政年度数据。我没有空间来保存整个数据库。

我的要求是备份特定持续时间的数据并移动到磁带中。

提前感谢您。

【问题讨论】:

    标签: oracle database-administration


    【解决方案1】:

    您可以创建分区表。每个分区都有自己的存储子句,因此它可以存储在不同的表空间中——甚至在不同的介质上。 如果需要,您可以从分区表轻松导出单个分区并在之后删除它。

    例子:

    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,您可以将现有表重新定义为分区表。请注意,要重新定义,您需要两倍于表使用的空间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-28
      • 2011-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多