oracle普通表转化为分区表的方法-创新互联

上一篇文章中我们了解了oracle数据与文本导入导出源码示例的相关内容,接下来我们看看,oracle中如何将普通表转化为分区表的方法。

创新互联是网站建设专家,致力于互联网品牌建设与网络营销,专业领域包括成都网站制作、成都网站设计、电商网站制作开发、小程序制作、微信营销、系统平台开发,与其他网站设计及系统开发公司不同,我们的整合解决方案结合了恒基网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,且不断评估并优化我们的方案,为客户提供全方位的互联网品牌整合方案!

oracle官方建议当表的大小大于2GB的时候就使用分区表进行管理,分区表相对于小的表管理和性能上都有很大的优势,本文档暂时不介绍具体的优势,主要介绍几种普通表转换成分区表的方法。


【方法概述】oracle官方给了以下四种操作的方法:

 A)  Export/import method(导入导出)
 B)  Insert with a subquery method(插入子查询的方法)
 C)  Partition exchange method(交换分区法)
 D)  DBMS_REDEFINITION(在线重定义)


这些方法的思路都是创建一个新的分区表,然后把旧表的数据转移到新表上面,接着转移相应的依赖关系,最后进行表的重命名,把新表和旧表rename。


其中A、B、C这三种方法都会影响到系统的正常使用,本文档不做详细的介绍,本文档主要介绍D方法,这种方法是目前普遍在进行普通表转换成分区表的方法。


【在线重定义进行分区表的操作】整个操作的思路如下,以SCOTT下的EMP表为例


1. 先确认下表能不能进行分区


基于主键的确认

BEGIN
DBMS_REDEFINITION.CAN_REDEF_TABLE('SOCTT','EMP',DBMS_REDEFINITION.CONS_USE_PK);
END;
/
PL/SQL procedure successfully completed.显示的是没有问题的

文章名称:oracle普通表转化为分区表的方法-创新互联
文章分享:http://azwzsj.com/article/djiphd.html