主要过程如谭总书中的例子:
创建空的分区表
createtable t1(object_id int,object_name varchar2(60),created date)
partition by range(created)
(
partition p2009 values lessthan(to_date('2010-01-01','yyyy-mm-dd')),
partition p2010 values lessthan(to_date('2011-01-01','yyyy-mm-dd')),
partition pmax values less than(maxvalue)
);
创建本地分区索引:
createindex t1_idx on t1(object_name) indextypeis ctxsys.contextlocal;
创建一个结构与T1一样的临时表
createtable t1_temp asselect * from t1;
准备数据文件,格式如下:
"20","ICOL$","2009/6/3019:10:16"
"44","I_USER1","2009/6/3019:10:16"
"28","CON$","2009/6/3019:10:16"
"15","UNDO$","2009/6/3019:10:16"
"29","C_COBJ#","2009/6/3019:10:16"
"3","I_OBJ#","2009/6/3019:10:16"
"25","PROXY_ROLE_DATA$","2009/6/3019:10:16"
"39","I_IND1","2009/6/3019:10:16"
"51","I_CDEF2","2009/6/3019:10:16"
"26","I_PROXY_ROLE_DATA$_1","2009/6/3019:10:16"
"17","FILE$","2009/6/3019:10:16"
"13","UET$","2009/6/3019:10:16"
"9","I_FILE#_BLOCK#","2009/6/3019:10:16"
"41","I_FILE1","2009/6/3019:10:16"
"48","I_CON1","2009/6/3019:10:16"
"38","I_OBJ3","2009/6/3019:10:16"
"7","I_TS#","2009/6/3019:10:16"
"53","I_CDEF4","2009/6/3019:10:16"
"19","IND$","2009/6/3019:10:16"
"14","SEG$","2009/6/3019:10:16"
"6","C_TS#","2009/6/3019:10:16"
"42","I_FILE2","2009/6/3019:10:16"
"21","COL$","2009/6/3019:10:16"
"43","I_TS1","2009/6/3019:10:16"
"35","I_UNDO2","2009/6/3019:10:16"
"5","CLU$","2009/6/3019:10:16"
"23","PROXY_DATA$","2009/6/3019:10:16"
"24","I_PROXY_DATA$","2009/6/3019:10:16"
"36","I_OBJ1","2009/6/3019:10:16"
"46","I_COL2","2009/6/3019:10:16"
"37","I_OBJ2","2009/6/3019:10:16"
"54","I_CCOL1","2009/6/3019:10:16"
"16","TS$","2009/6/3019:10:16"
用plsql工具导入临时表中
指定要导入文件的位置和要导入的表
导入结束
查看临时表中的数据:
给临时表创建全文索引:
createindex t1_temp_idx ont1_temp(object_name) indextypeis ctxsys.context ;
查看全文索引的创建结果:
交换
altertable t1 exchangepartition p2009 withtable t1_temp includingindexeswithout
validation;
查看结果:
可见全文索引基表的数据已经变更到了T1 表的第一个分区中了,而临时表的全文索引数据为空。