今天接到一个需求,需要对一张普通的大表(数据量3000W)进行优化,目标按时间保留2000W左右的数据量,建成分区表。
操作流程
--导出表的部分数据
expdp system/**** directory=dump_dir dumpfile=amm_exception_details_0602.dmp logfile = exp_0602.log tables=tts_amm.amm_exception_details query=tts_amm.amm_exception_details:\"where EXCEPTION_DATE \< to_date\(\'2015-06-03 00:00:00\',\'yyyy-mm-dd hh24:mi:ss\'\)\"
--创建测试表,修改同义词,接收处理过程中新的明细数据
create table tts_amm.amm_exception_details_test as select * from tts_amm.amm_exception_details where 1=0;
--数据入库停止之后将今天的数据备份出来
create table amm_exception_details_bak as
select * from amm_exception_details t where t.EXCEPTION_DATE > to_date('2015-06-03 00:00:00','yyyy-mm-dd hh24:mi:ss');
--清空异常明细表
truncate table tts_amm.amm_exception_details;
--将需要使用的15年3月的数据导入空表
impdp system/**