融合(merge partition)分割槽
融合(merge partition)分割槽:你可以融合範圍分割槽表和list分割槽表的兩個分割槽到一個分割槽,兩個原始的分割槽會被刪除,這個時候ROWID也就改變了,當然也包括刪除相關的本地索
引。
限制:1、不能為hash分割槽使用這個語法,因為hash分割槽已經有了Coalescing Partitions分割槽的語法。
2、當融合範圍分割槽的時候必須是相鄰的分割槽,否則報錯ORA-14274: 要合併的分割槽不相鄰,但是list分割槽並沒有這個限制。
如果融合的時候
3、如果合併範圍分割槽表的分割槽和maxvalue分割槽,那合併後的還是maxvalue分割槽。
4、如果何必list分割槽的分割槽和default分割槽,那合併後的還是default分割槽。
5、如果合併的分割槽中有資料,那全域性索引和普通索引均失效,除非帶上update indexes
6、如果合併的分割槽中有資料,那本地索引關於合併後新分割槽的索引會失效,除非帶上update indexes
語法:
ALTER TABLE q1_sales_by_region
MERGE PARTITIONS q1_northcentral, q1_southcentral
INTO PARTITION q1_central
{STORAGE(MAXEXTENTS 20)
UPDATE INDEXES};
ALTER TABLE four_seasons
MERGE PARTITIONS quarter_one, quarter_two INTO PARTITION quarter_two
{UPDATE INDEXES}
使用指令碼:
drop table t_pe_l;
drop table t_pe_r;
CREATE TABLE t_pe_r (i NUMBER, j NUMBER , f varchar2(20),k varchar2(20))
PARTITION BY RANGE(j)
(PARTITION p1 VALUES LESS THAN (10),
PARTITION p2 VALUES LESS THAN (20),
PARTITION P3 VALUES LESS THAN (30),
PARTITION P4 VALUES LESS THAN (40),
PARTITION p5 VALUES LESS THAN (maxvalue));
create index t_pe_r_n on t_pe_r(i);
create index t_pe_r_l on t_pe_r(j) local;
create index t_pe_r_g on t_pe_r(f)
GLOBAL PARTITION BY hash (f)
(partition pg1 ,
partition pg2);
CREATE TABLE t_pe_l (i NUMBER, j NUMBER , f varchar2(20),k varchar2(20))
PARTITION BY list(j)
(PARTITION p1 VALUES (10),
PARTITION p2 VALUES (20),
PARTITION P3 VALUES (30),
PARTITION P4 VALUES (40),
PARTITION p5 VALUES (default));
create index t_pe_l_n on t_pe_l(i);
create index t_pe_l_l on t_pe_l(j) local;
create index t_pe_l_g on t_pe_l(f)
GLOBAL PARTITION BY hash (f)
(partition pg1 ,
partition pg2);
insert into t_pe_l
values(2,10,5,'A');
insert into t_pe_l
values(1,20,10,'B');
insert into t_pe_l
values(3,30,40,'C');
insert into t_pe_l
values(2,40,30,'A');
insert into t_pe_l
values(1,40,20,'B');
insert into t_pe_l
values(3,85,50,'C');
insert into t_pe_r
values(2,5,'a','A');
insert into t_pe_r
values(1,15,'b','B');
insert into t_pe_r
values(2,10,'a','A');
insert into t_pe_r
values(1,20,'b','B');
insert into t_pe_r
values(2,5,'a','A');
insert into t_pe_r
values(1,25,'b','B');
insert into t_pe_r
values(3,85,'c','C');
select INDEX_NAME ,STATUS,a.partition_name from dba_ind_partitions a where lower(index_name)='t_pe_r_l';
select INDEX_NAME ,STATUS,a.partition_name from dba_ind_partitions a where lower(index_name)='t_pe_r_g';
select INDEX_NAME ,STATUS from dba_indexes where lower(index_name)='t_pe_r_n';
select INDEX_NAME ,STATUS,a.partition_name from dba_ind_partitions a where lower(index_name)='t_pe_l_l';
select INDEX_NAME ,STATUS,a.partition_name from dba_ind_partitions a where lower(index_name)='t_pe_l_g';
select INDEX_NAME ,STATUS from dba_indexes where lower(index_name)='t_pe_l_n';
ALTER TABLE t_pe_r
MERGE PARTITIONS p4, p5
INTO PARTITION P_new1 update indexes;
ALTER TABLE t_pe_r
MERGE PARTITIONS p4, p5
INTO PARTITION P_new1 ;
ALTER TABLE t_pe_l
MERGE PARTITIONS p4, p5
INTO PARTITION P_new1 update indexes;
ALTER TABLE t_pe_l
MERGE PARTITIONS p4, p5
INTO PARTITION P_new1 ;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-757019/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 分割槽Partition
- 分割槽partition知識點
- Spark學習——分割槽Partition數Spark
- Oracle Partition 分割槽詳細總結Oracle
- 分割槽函式Partition By的基本用法函式
- Kafka分割槽分配策略(Partition Assignment Strategy)Kafka
- 分割槽函式partition by的基本用法【轉載】函式
- Oracle查詢Interval partition分割槽表內資料Oracle
- 使用parted建立大分割槽時 mkpart Warning: The resulting partition is not properly
- MySQL全面瓦解29:使用Partition功能實現水平分割槽MySql
- Partition|Disk Utility 如何分割磁碟
- Linux分割槽方案、分割槽建議Linux
- Laravel Query Builder 複雜查詢案例:子查詢實現分割槽查詢 partition byLaravelUI
- oracle分割槽表和分割槽表exchangeOracle
- PostgreSQL/LightDB 分割槽表之分割槽裁剪SQL
- Linux 分割槽擴容(根分割槽擴容,SWAP 分割槽擴容,掛載新分割槽為目錄)Linux
- Oracle分割槽表基礎運維-07增加分割槽(2 HASH分割槽)Oracle運維
- oracle分割槽表和非分割槽表exchangeOracle
- 非分割槽錶轉換成分割槽表
- [oracle] expdp 匯出分割槽表的分割槽Oracle
- Oracle分割槽表基礎運維-07增加分割槽(1範圍分割槽)Oracle運維
- openGauss 分割槽
- mysql 分割槽MySql
- lvs 分割槽
- Kafka 分割槽Kafka
- Hive的靜態分割槽與動態分割槽Hive
- Linux 新增LVM分割槽及LVM分割槽擴容LinuxLVM
- MySql資料分割槽操作之新增分割槽操作MySql
- Oracle分割槽表基礎運維-07增加分割槽(3列表分割槽)Oracle運維
- Oracle12c:建立主分割槽、子分割槽,實現自動分割槽插入效果Oracle
- 如何讓阿三 Windows 10、11 的恢復分割槽(Recovery Partition)恢復到 “蓋茨” 模式Windows模式
- 【Linux】MBR磁碟分割槽表只能有四個分割槽?Linux
- PG的非分割槽表線上轉分割槽表
- 理解MySQL分割槽MySql
- linux分割槽方案Linux
- 建立sawp分割槽
- 範圍分割槽
- 配置FLASH分割槽
- 搞懂MySQL分割槽MySql