11g数据库大表数据快速清理方法 - insert+append+parallel+exchange (1)

本文详细介绍了如何使用Oracle11.2.0.3对一个大小超过300GB,时间跨度从2001年到2014年的表进行优化,仅保留2013年至2014年的数据。通过创建中间表,利用EXCHANGEPARTITION进行数据置换,并在原表上重建已失效的索引,最终完成表的重新统计分析。

     Oracle 11.2.0.3  ,  原表为 AP.AP_INVOICE_DISTS_ARCH, 大小为300多G, 数据时间跨度为 2001-2014,  现在需要精简为
只保留2013-2014数据的表 ,拟采用2013-2014的少量数据存放到中间表(一个分区),然后通过exchange partition的快速方式
进行数据置换, 然后在原表上rebuild 已经 unusabled 的索引, 最后对表进行重新统计分析 。

1.    建立中间表, 在表明后加 _WQ  
CREATE TABLE AP.AP_INVOICE_DISTS_ARCH_WQ
(
  ACCOUNTING_DATE                DATE           NOT NULL,
  LAST_UPDATE_DATE               DATE           NOT NULL,
  LINE_TYPE_LOOKUP_CODE          VARCHAR2(25 BYTE) NOT NULL,
  PERIOD_NAME                    VARCHAR2(15 BYTE) NOT NULL,
  SET_OF_BOOKS_ID                NUMBER(15)     NOT NULL,
  PAY_AWT_GROUP_ID               NUMBER(15)
)
TABLESPACE FINDBG
PCTUSED    0
PCTFREE    10
INITRANS   10
MAXTRANS   255
PARTITION BY RANGE (LAST_UPDATE_DATE)

  PARTITION   APINV_PART01  values less than(MAXVALUE)
    LOGGING
    COMPRESS
    TABLESPACE FINDBG
    PCTFREE    10
    INITRANS   10
    MAXTRANS   255
    STORAGE    (
                INITIAL          10M
                NEXT             100M
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                BUFFER_POOL      DEFAULT
               )
);

-- 未完, 接第二篇 --

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-1204787/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-1204787/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值