分区表整理方案


一、背景
现网中体验关系表是分区表,目前该表存放着自2006年09月份至2007年02月份的数据,但2007年2月份后的数据由于还没有创建时间分区至今数据还未入库表.由于目前现网的历史数据量很小,而该分区表中已有的6个历史分区却占用了6*2G=12G的裸设备空间,再加上基于日期的6个索引分区一共占用了24G的物理空间,而实际的业务数据(加上索引数据)占用还不到1G..考虑到资源的优化整合,该方案特提出对该分区表进行整理,回收物理空间,并添加新的分区,保证业务的正常使用。

二、现网现状
现网的6个表分区表空间如下:
SPACE_EXRE_DATA01, SPACE_EXRE_DATA02, SPACE_EXRE_DATA03,
SPACE_EXRE_DATA04, SPACE_EXRE_DATA05, SPACE_EXRE_DATA06
现网的6个索引分区表空间如下:
SPACE_EXRE_IDX01, SPACE_EXRE_IDX02, SPACE_EXRE_IDX03,
SPACE_EXRE_IDX04, SPACE_EXRE_IDX05, SPACE_EXRE_IDX06

三、方案原理
现网数据库中一个裸设备的大小是2G;
一个裸设备只能属于一个表空间,建议数据文件创建时一次性达到裸设备的空间大小;
将分区表的当前所有子分区都迁移到一个表空间上,其他的表空间删除掉后释放裸设备.索引子分区作类似处理;
充分利用表空间SPACE_EXRE_DATA01和索引表空间SPACE_EXRE_IDX01,回收其他的4个表空间和4个索引空间


四、操作步骤
4.1在cemwwwpps用户下备份分区表数据
Create table EXP_RELATION_CEM_BAK as select * from EXP_RELATION;
4.2在cemwwwpps用户下查询
select distinct 'alter table EXP_RELATION move subpartition '|| PARTITION_NAME||' tablespace SPACE_EXRE_DATA01;' from user_segments
where segment_name = 'EXP_RELATION'
group by PARTITION_NAME;
4.3 在cemwwwpps用户下执行4.1的查询结果
备注:目前现网会有36条查询结果,请执行这36个查询结果即可
4.4 添加200703和200704两个月份的分区信息,如下语句供参考:

ALTER TABLE EXP_RELATION ADD PARTITION PART_EXRE_200703
VALUES LESS THAN(TO_DATE('2007-04-01','YYYY-MM-DD'))
TABLESPACE SPACE_EXRE_DATA01;

ALTER TABLE EXP_RELATION ADD PARTITION PART_EXRE_200704
VALUES LESS THAN(TO_DATE('2007-05-01','YYYY-MM-DD'))
TABLESPACE SPACE_EXRE_DATA01;

(备注:其他月份的分区创建请类似处理,另外请参考现网实际数据能力来创建表空间的大小)
4.5删除本地索引
Drop index IDX_EXRE_LOCAL_DATE;
4.6重建索引
CREATE INDEX IDX_EXRE_LOCAL_DATE_bak ON EXP_RELATION(EXP_DATE)
PARALLEL
LOCAL
(
PARTITION IDX_EXRE_LOCAL_DATE_01 TABLESPACE SPACE_EXRE_IDX01,
PARTITION IDX_EXRE_LOCAL_DATE_02 TABLESPACE SPACE_EXRE_IDX01,
PARTITION IDX_EXRE_LOCAL_DATE_03 TABLESPACE SPACE_EXRE_IDX01,
PARTITION IDX_EXRE_LOCAL_DATE_04 TABLESPACE SPACE_EXRE_IDX01,
PARTITION IDX_EXRE_LOCAL_DATE_05 TABLESPACE SPACE_EXRE_IDX01,
PARTITION IDX_EXRE_LOCAL_DATE_06 TABLESPACE SPACE_EXRE_IDX01,
PARTITION IDX_EXRE_LOCAL_DATE_07 TABLESPACE SPACE_EXRE_IDX01,
PARTITION IDX_EXRE_LOCAL_DATE_08 TABLESPACE SPACE_EXRE_IDX01
);

请注意几点:
1. 让所有的索引数据都建在一个索引表空间SPACE_EXRE_IDX01上;
2. 每次新加分区后都需新建索引把新加的日期索引数据包括进去

4.7删除无用的表空间和数据文件
Drop tablespace SPACE_EXRE_DATA02 including contents and datafiles;
Drop tablespace SPACE_EXRE_DATA03 including contents and datafiles;
Drop tablespace SPACE_EXRE_DATA04 including contents and datafiles;
Drop tablespace SPACE_EXRE_DATA05 including contents and datafiles;
Drop tablespace SPACE_EXRE_DATA06 including contents and datafiles;

Drop tablespace SPACE_EXRE_IDX02 including contents and datafiles;
Drop tablespace SPACE_EXRE_IDX03 including contents and datafiles;
Drop tablespace SPACE_EXRE_IDX04 including contents and datafiles;
Drop tablespace SPACE_EXRE_IDX05 including contents and datafiles;
Drop tablespace SPACE_EXRE_IDX06 including contents and datafiles;

备注:表空间和数据文件删除掉后请及时回收裸设备.
4.8验证及测试
插入或更新小于2007年5月份的数据均不抛异常证明ok!
五、风险规避
在整个操作过程中建议不要对该表有操作.
如果发现数据丢失需要回滚请直接用备份表(EXP_RELATION_CEM_BAK)还原即可.
六、后继措施
请监控数据库和业务系统是否正常运行.另外请密切关注整理分区表后是否造成了性能的影响.

[@more@]

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

转载于:http://blog.itpub.net/38542/viewspace-906118/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值