Oracle中普通表转换为分区表常用的方法

本文介绍了将Oracle中的普通表转换为分区表的三种方法:插入子查询法、分区交换法和导出导入法。详细阐述了每种方法的原理和操作步骤,包括创建分区表、数据迁移以及对分区表的其他操作,如添加、删除、合并和移动分区。实操性强,适合数据库管理员和开发人员参考。
摘要由CSDN通过智能技术生成
在 Oracle 几年的学习中, 做了很多的实验,也遇到了很多的问题, 在这个过程中,积累了一些学习文档。 因为太多,不便于查阅。
根据自己对 Oracle 的理解以及日常工作中遇到的情况并进行了一些整理,方便自己的查看。 这些文档中有很多内引用借鉴了前辈们的资料和 google 上的
一些信息。  在这里引用的内容也是完全出于学习,没有其他用途,如有侵犯到版权的问题,请联系我。 我将删除这些信息。对数据库这块也是在不断的学习,
对 Oracle 的理解也是在不断的变化。 在这个过程中,难免有理解错误的地方, 或者内容上遗漏的,如果发现了问题, 烦邮件给我,我会虚心的学习,并更新该文档。


接下来我来通过实验方法将普通表转换成分区表。

1. Insert with a subquery method
2. Partition exchange method
3. Export/import method



1.插入: Insert with a subquery method

这种方法就是使用 insert 来实现。 当然在创建分区表的时候可以一起插入数据,也可以创建好后在insert 进去。

 这种方法采用DDL语句,不产生UNDO,

只产生少量 REDO,建表完成后数据已经在分布到各个分区中。

实验一:

create table interval_wjh
partition by range (hire_date)
interval ( numtoyminterval (1, 'month') )
(partition part1
values less than (to_date ('02/14/2012', 'mm/dd/yyyy')))
as
select id, time_fee from test_table;



2.交换分区 Partition exchange method
这种方法只是对数据字典中分区和表的定义进行了修改,没有数据的修改或
复制,效率最高。适用于包含大数据量的表转到分区表中的一个分区的操作。尽
量在闲时进行操作。

交换分区的操作步骤如下:
1. 创建分区表,假设有 2 个分区,P1,P2.
2. 创建表 A 存放 P1 规则的数据。
3. 创建表 B 存放 P2 规则的数据。
4. 用表 A 和 P1 分区交换, 把表 A 的数据放到到 P1 分区
5. 用表 B 和 p2 分区交换, 把表 B 的数据存放到 P2 分区

实验二:
创建分区表:
sql> create table P_p
2 (id number,time date)
3 partition by range(time)
4 (
5 partition p1 values less than (to_date('2012-08-12', 'yyyy-mm-dd')),
6 partition p2 values less than (to_date('2013-11-22', 'yyyy-mm-dd'))
7 );
表已创建。

创建 2 个分别对应分区的基表:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值