ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【实验】【PARTITION】RANGE分区表移动表分区(Move Partition)

【实验】【PARTITION】RANGE分区表移动表分区(Move Partition)

原创 Linux操作系统 作者:secooler 时间:2009-07-16 16:09:09 0 删除 编辑
1.移动分区表的作用大体有两个
1)与move表一样,可以降低行迁移
2)修改分区的表空间

2.需要注意的问题:
1)对于分区内存在大量数据的时候在移动的过程中会带来大量的IO,这里注意一下
2)注意索引是否失效的问题

3.创建一个简单的分区表
sec@ora10g> 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 tbs_part01,
  4  partition t_range_p2   values less than (maxvalue) tablespace tbs_part02);


Table created.

4.查看当前的分区情况
sec@ora10g> col TABLE_NAME for a20
sec@ora10g> col partition_name for a20
sec@ora10g> col HIGH_VALUE for a10
sec@ora10g> col TABLESPACE_NAME for a15
sec@ora10g> select table_name,partition_name,high_value,tablespace_name from user_tab_partitions where table_name='T_PARTITION_RANGE' order by partition_position;

TABLE_NAME           PARTITION_NAME       HIGH_VALUE TABLESPACE_NAME
-------------------- -------------------- ---------- ---------------
T_PARTITION_RANGE    T_RANGE_P1           10         TBS_PART01
T_PARTITION_RANGE    T_RANGE_P2           MAXVALUE   TBS_PART02

5.演示普通的move,目的是减少行迁移
sec@ora10g> alter table T_PARTITION_RANGE move partition T_RANGE_P1 update indexes;

Table altered.

sec@ora10g> alter table T_PARTITION_RANGE move partition T_RANGE_P2 update indexes;

Table altered.

sec@ora10g> select table_name,partition_name,high_value,tablespace_name from user_tab_partitions where table_name='T_PARTITION_RANGE' order by partition_position;

TABLE_NAME           PARTITION_NAME       HIGH_VALUE TABLESPACE_NAME
-------------------- -------------------- ---------- ---------------
T_PARTITION_RANGE    T_RANGE_P1           10         TBS_PART01
T_PARTITION_RANGE    T_RANGE_P2           MAXVALUE   TBS_PART02

6.演示一下调整表空间的move语法
sec@ora10g> alter table T_PARTITION_RANGE move partition T_RANGE_P1 tablespace TBS_PART03 update indexes;

Table altered.

sec@ora10g> alter table T_PARTITION_RANGE move partition T_RANGE_P2 tablespace TBS_PART04 update indexes;

Table altered.

sec@ora10g> select table_name,partition_name,high_value,tablespace_name from user_tab_partitions where table_name='T_PARTITION_RANGE' order by partition_position;

TABLE_NAME           PARTITION_NAME       HIGH_VALUE TABLESPACE_NAME
-------------------- -------------------- ---------- ---------------
T_PARTITION_RANGE    T_RANGE_P1           10         TBS_PART03
T_PARTITION_RANGE    T_RANGE_P2           MAXVALUE   TBS_PART04

注意一下,这里表空间已经发生了变化

-- The End --

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/519536/viewspace-609347/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE 总监,阿里云MVP,北京大学理学硕士,恩墨学院创始人,教育专家,中国区 Cloudera 首位官方授权大数据讲师,金牌培训专家,BDA大数据联盟创始人,OCM联盟创始人,ACCUG创始人、ACOUG核心专家,Blogger。

注册时间:2008-03-16

  • 博文量
    1601
  • 访问量
    8477116