oracle根据分区移动,Oracle 12c 在线移动分区和部分分区read only

在Oracle12c当中可以在线移动分区。这里我们先随便建一个分区表,来试验这个新特性。

SQL> select TABLE_NAME,PARTITION_NAME,COMPRESS_FOR,READ_ONLY from dba_tab_partitions where TABLE_NAME='T1';

TABLE_NAME PARTITION_NAME COMPRESS_FOR READ

------------------------------ ------------------------------ ------------------------------ ----

T1 T_RANGE_P1 NO

T1 T_RANGE_P2 NO

T1 T_RANGE_P3 NO

T1 T_RANGE_PMAX NO

SQL> select segment_name,partition_name,bytes/1024/1024 from dba_segments where segment_name='T1';

SEGMENT_NAME PARTITION_NAME BYTES/1024/1024

------------------------------ ------------------------------ ---------------

T1 T_RANGE_P1 192

T1 T_RANGE_P2 104

T1 T_RANGE_P3 104

T1 T_RANGE_PMAX 104

直接对其中一个分区进行压缩并在线移动。

alter table T1 move partition T_RANGE_P1 row store compress basic online;

在压缩的过程中对这个分区进行增删改查的操作均不受影响。

同时在有一些情况下,我们可以对单独的分区设置成read only。一般业务都有一定程度的需求,比如:1.历史数据太大,需要存很久,这个时候,压缩就是一个不错的选择。2.历史数据只是做查询用,不涉及修改和删除。所以Oracle在12c推出的这两个功能和业务贴合的更加紧密了。

SQL> select TABLE_NAME,PARTITION_NAME,COMPRESS_FOR,READ_ONLY from dba_tab_partitions where TABLE_NAME='T1';

TABLE_NAME PARTITION_NAME COMPRESS_FOR READ

------------------------------ ------------------------------ ------------------------------ ----

T1 T_RANGE_P1 BASIC YES

T1 T_RANGE_P2 NO

T1 T_RANGE_P3 NO

T1 T_RANGE_PMAX NO

设置成read only之后,该分区就不能做修改操作了。

分享到:

更多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值