oracle 在线重定义

--预备检查
BEGIN
DBMS_REDEFINITION.CAN_REDEF_TABLE('GMSTEST','BGP_HSE_ENTITYHISTORY_NEW',DBMS_REDEFINITION.CONS_USE_PK);
END;

BEGIN
DBMS_REDEFINITION.START_REDEF_TABLE('GMSTEST', 'BGP_HSE_ENTITYHISTORY_NEW', 'BGP_HSE_ENTITYHISTORY_NEW_TEST');
END;

BEGIN
dbms_redefinition.sync_interim_table('GMSTEST', 'BGP_HSE_ENTITYHISTORY_NEW', 'BGP_HSE_ENTITYHISTORY_NEW_TEST');
END;

-- 完成关闭
BEGIN
DBMS_REDEFINITION.FINISH_REDEF_TABLE('GMSTEST', 'BGP_HSE_ENTITYHISTORY_NEW', 'BGP_HSE_ENTITYHISTORY_NEW_TEST');
END;
--报错还原
BEGIN
全局索引重建
alter index ENTITYHISTORY_GUID_INDEX rebuild online parallel 10;
DBMS_REDEFINITION.ABORT_REDEF_TABLE(uname => 'GMSTEST',
orig_table => 'BGP_HSE_ENTITYHISTORY_NEW',
int_table => 'BGP_HSE_ENTITYHISTORY_NEW_TEST');
END;

-- 移动分区到其他表空间
ALTER TABLE tabname MOVE PARTITION partitionname TABLESPACE tbsname;
-- 分区移动后索引变化
alter index “index name” rebuild partition “partition name” tablespace “tbs name”;
-- 因为是复合分区,所以只需要移动子分区
alter table bgp_hse_entityhistory_new move subpartition SUB1P1 tablespace gmstest
alter index PID_GLOBAL_INDEX rebuild subpartition SUB1P1;

善于将复杂问题简单化
原文地址:https://www.cnblogs.com/zzt-lovelinlin/p/14698941.html