欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

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

发布时间:2025/3/19 编程问答 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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之后,该分区就不能做修改操作了。

分享到:

更多

总结

以上是生活随笔为你收集整理的oracle根据分区移动,Oracle 12c 在线移动分区和部分分区read only的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。