需求:
源表A 目前166G 已经做了分区 做的是hash 分区,但是目前。表需要做调整 需要用另外一个字段做列表分区。
计划:
1、将源表转化为普通表。
2、将普通表转化为分区表。
操作:
1、expdp 备份表 166G 大概十几分钟就备份完成.
expdp xx/xxxxdirectory=exp_dir dumpfile= xxxx.dmp tables=ADAPTER_ORIGINALDATA logfile= xxxx.log parallel=10
2、备份表的索引ddL使用工具
3、创建新的表空间
create tablespace xxxdatafile ‘xxxxx.dbf’ size 1G autoextend on next 500M maxsize 10g
将表空间赋给用户
alter user adapter quota unlimited on xxxxx;
CREATE TABLE "ADAPTER"."xxxx"
( "EVENTID" CHAR(32) NOT NULL ENABLE,
"RECORDCLASSIFYING" VARCHAR2(32),
"RECORDTITLE" VARCHAR2(50),
"EFFECTIVETIME" DATE,
"AUTHORORGANIZATION" VARCHAR2(56),
"SOURCEID" VARCHAR2(32),
"VERSIONNUMBER" VARCHAR2(10),
"AUTHOR" VARCHAR2(32),
"SYSTEMTIME" DATE,
"UPLOADTIME" DATE,
"HEADER" VARCHAR2(4000),
"BODY" BLOB,
"DOCFORMAT" VARCHAR2(8),
"ZIPTYPE" VARCHAR2(8),
"PROCESSFLAG" CHAR(1),
"ORIGINALBODY" BLOB,
"MPIPROCESSFLAG" CHAR(1),
"MPI" VARCHAR2(32),
"DCID" CHAR(16),
"CREATETIME" DATE,
"AUTHORORGANIZATION_TEXT" VARCHAR2(56)
) TABLESPACE xxxxxx;
5、开始重定义
execute dbms_redefinition.start_redef_table('hzwsj','old_table','mid_table');
execute dbms_redefinition.sync_interim_table('hzwsj','old_table','mid_table');
execute dbms_redefinition.finish_redef_table('hzwsj','old_table','mid_table');
6、创建索引7、完成。
注意:两个源表和中间表需要相同主键。
在重定义过程中
execute dbms_redefinition.start_redef_table('hzwsj','old_table ','mid_table '); 这一步 为转移数据步骤。
完成后的mid_table 可删除。
166G 数据 POWER 7 处理器 128G 内存 大概需要两个小时。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26764973/viewspace-1277127/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26764973/viewspace-1277127/