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

2024-01-29Oracle / RAC

分类: Oracle

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

— 未完, 接第二篇 —

.

阅读(2687) | 评论(0) | 转发(0)

0