一周以来的工作总结--oracle分区的迁移
2012-10-17 21:53
423 查看
这周很平静,没有客户的纷纷扰扰。
前一阵子写了一些有关数据表的压缩的东西,我现在感觉把数据压缩了迁移走,或者直接迁移走也是一种不错的办法。
现在有这样一张表:
分区的存储是这样的:
现在可以将这个表的month_id为“201209”的数据迁移到users表空间去:
出错了,在网上查了一下应该要先把子分区移走。
然后在执行下面的:
这是结果:
现在这个分区被转移到了users中。
如果没有子分区会是什么样?重建这个表,这次不要子分区,只是按照month_id分区,然后执行转移语句:
直接成功。这就说明了转移带有子分区的分区表的时候,应该从最低级的子分区开始转移,然后转移上一级的分区。
那么压缩呢,将上面这个表的part_1压缩,语句如下:
结果如下:
建立有子分区的表,然后执行刚才的语句:
相同的问题再次出现。也就是说得把子分区先压缩了。但是我今天看到了一个更好用的语句:
执行以后结果:
这样就好了。
今天建立表分区的时候有点忘了语句的写法,这是不对的,这里记录一下:
将用户默认表空间改成刚才建立的表空间:
欢迎各位oracle爱好者加入我们的交流群:120244471。
前一阵子写了一些有关数据表的压缩的东西,我现在感觉把数据压缩了迁移走,或者直接迁移走也是一种不错的办法。
现在有这样一张表:
CREATE TABLE TABLE_1 ( MONTH_ID VARCHAR2(10), AREA_ID VARCHAR2(10), SERI NUMBER ) PARTITION BY RANGE(MONTH_ID) subpartition by list (AREA_ID) subpartition template( subpartition subpart_1 values ('1'), subpartition subpart_2 values ('2'), subpartition subpart_3 values ('3'), subpartition subpart_4 values ('4'), subpartition subpart_5 values ('5'), subpartition subpart_6 values ('6'), subpartition subpart_7 values ('7'), subpartition subpart_8 values ('8'), subpartition subpart_9values ('9'), subpartition subpart_10 values ('10'), subpartition subpart_default values (default) ) ( PARTITION PART_1 VALUES LESS THAN('201210'), PARTITION PART_2 VALUES LESS THAN('201211'), PARTITION PART_3 VALUES LESS THAN('201212') )
分区的存储是这样的:
现在可以将这个表的month_id为“201209”的数据迁移到users表空间去:
ALTER TABLE table_1 MOVE PARTITION part_1 TABLESPACE USERS;
出错了,在网上查了一下应该要先把子分区移走。
ALTER TABLE table_1 MOVE SUBPARTITION part_1_SUBPART_1 TABLESPACE USERS; ALTER TABLE table_1 MOVE SUBPARTITION part_1_SUBPART_2 TABLESPACE USERS; ALTER TABLE table_1 MOVE SUBPARTITION part_1_SUBPART_3 TABLESPACE USERS; ALTER TABLE table_1 MOVE SUBPARTITION part_1_SUBPART_4 TABLESPACE USERS; ...ALTER TABLE table_1 MOVE SUBPARTITION part_1_SUBPART_10 TABLESPACE USERS;
然后在执行下面的:
ALTER TABLE table_1 MODIFY DEFAULT ATTRIBUTES FOR PARTITION part_1 TABLESPACE USERS;
这是结果:
现在这个分区被转移到了users中。
如果没有子分区会是什么样?重建这个表,这次不要子分区,只是按照month_id分区,然后执行转移语句:
ALTER TABLE table_1 MOVE PARTITION part_1 TABLESPACE USERS;
直接成功。这就说明了转移带有子分区的分区表的时候,应该从最低级的子分区开始转移,然后转移上一级的分区。
那么压缩呢,将上面这个表的part_1压缩,语句如下:
ALTER TABLE table_1 MOVE PARTITION part_1 COMPRESS;
结果如下:
建立有子分区的表,然后执行刚才的语句:
相同的问题再次出现。也就是说得把子分区先压缩了。但是我今天看到了一个更好用的语句:
ALTER TABLE table_1 MODIFY PARTITION part_1 COMPRESS;
执行以后结果:
这样就好了。
今天建立表分区的时候有点忘了语句的写法,这是不对的,这里记录一下:
CREATE TABLESPACE data_warehouse DATAFILE 'D:\app\user\oradata\PC1\STORAGE2.DBF' SIZE 50M AUTOEXTEND ON NEXT 50M MAXSIZE 2048M;
将用户默认表空间改成刚才建立的表空间:
ALTER USER wings DEFAULT TABLESPACE data_warehouse;
欢迎各位oracle爱好者加入我们的交流群:120244471。
相关文章推荐
- 一周以来的工作总结--oracle分区的迁移
- 一周以来的工作总结--oracle分区的迁移
- (转)Oracle Partition 分区详细总结
- 一周以来工作总结--关于位图索引
- 一周以来工作总结--关于表的压缩
- Swift 3 迁移工作总结
- Oracle Partition 分区详细总结
- ORACLE 2011-04-22逻辑迁移(EXPDP/IMPDP)总结文档
- 数据迁移工作总结
- oracle的分区表、分区索引和全局索引部分总结
- Oracle Partition 分区详细总结
- oracle中迁移分区的表空间
- oracle 12c:新特性-表分区或子分区的在线迁移
- 一周以来工作总结--关于高水位线
- 一周以来的工作学习总结
- Oracle 12C 新特性之表分区或子分区的在线迁移
- Oracle迁移到MySQL总结
- 深入ORACLE迁移到MYSQL的总结分析
- Oracle工作总结——日志文件切换频率的调整
- AAA oracle分区技术 自己的总结