搜索: 标题内容作者  
  首页数据库Oracle
背景:
阅读新闻

使用exchange partition方式交换分区

[日期:2008-05-23]   来源:互联网整理  作者:佚名   [字体: ]
    新闻简介:  直白的说就是迁移数据。迁移数据的方式很多,为什么要使用exchange partition的方式呢,表急,听三思慢慢道来。
        关 键 词:  

  直白的说就是迁移数据。迁移数据的方式很多,为什么要使用exchange partition的方式呢,表急,听三思慢慢道来。

  Exchange partition提供了一种方式,让你在表与表或分区与分区之间迁移数据,注意不是将表转换成分区或非分区的形式,而仅只是迁移表中数据(互相迁移),由于其号称是采用了更改数据字典的方式,因此效率最高(几乎不涉及io操作)。Exchange partition适用于所有分区格式,你可以将数据从分区表迁移到非分区表,也可以从非分区表迁移至分区表,或者从hash partition到range partition诸如此类吧。

  其语法很简单:alter table tbname1 exchange partition/subpartition ptname with table tbname2;

  Exchange partition迁移的方式也很有意思,言语表达怕大家听不明白,下面直接通过示例来表达:

  借用前文中创建的空分区表:t_partition_range,并插入几条记录

JSSWEB> create table t_partition_range (id number,name varchar2(50))

  2   partition by range(id)(

  3   partition t_range_p1 values less than (10) tablespace tbspart01,

  4   partition t_range_p2 values less than (20) tablespace tbspart02,

  5   partition t_range_p3 values less than (30) tablespace tbspart03,

  6   partition t_range_pmax values less than (maxvalue) tablespace tbspart04

  7   );


表已创建。


JSSWEB> insert into t_partition_range values (11,'a');


已创建 1 行。


JSSWEB> insert into t_partition_range values (12,'b');


已创建 1 行。


JSSWEB> insert into t_partition_range values (13,'c');


已创建 1 行。


JSSWEB> commit;


提交完成。


再创建一个非分区表,结构与t_partition_range相同

JSSWEB> create table t_partition_range_tmp (id number,name varchar2(50));


表已创建。

 

If you believe an article violates your rights or the rights of others, please contact us.

收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻      
友情链接
本文评论   [发表评论] 全部评论 (0)
赞助商广告
热门评论