11g資料庫大表資料快速清理方法 - insert+append+parallel+exchange (1)

tolywang發表於2014-07-02

     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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章