【實驗】【PARTITION】RANGE分割槽表未指定maxvalue分割槽將無法插入相關資料
1.建立未包含maxvalue分割槽的表
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 (20) tablespace tbs_part02,
5 partition t_range_p3 values less than (30) tablespace tbs_part03
6 );
Table created.
2.模擬插入資料
sec@ora10g> insert into t_partition_range values (5,'Andy1');
1 row created.
sec@ora10g> insert into t_partition_range values (15,'Andy2');
1 row created.
sec@ora10g> insert into t_partition_range values (25,'Andy3');
1 row created.
sec@ora10g> insert into t_partition_range values (35,'Andy4');
insert into t_partition_range values (35,'Andy4')
*
ERROR at line 1:
ORA-14400: inserted partition key does not map to any partition
到這裡報錯了,原因就是找不到對應的分割槽,無法插入
3.新增maxvalue分割槽即可繼續插入資料
sec@ora10g> alter table t_partition_range add partition t_range_p4 values less than(maxvalue) tablespace tbs_part04;
Table altered.
sec@ora10g> insert into t_partition_range values (35,'Andy4');
1 row created.
sec@ora10g> insert into t_partition_range values (45,'Andy5');
1 row created.
sec@ora10g> commit;
Commit complete.
4.查詢每一個分割槽中包含的資料
sec@ora10g> select * from t_partition_range partition(t_range_p1);
ID NAME
---------- --------------------------------------------------
5 Andy1
sec@ora10g> select * from t_partition_range partition(t_range_p2);
ID NAME
---------- --------------------------------------------------
15 Andy2
sec@ora10g> select * from t_partition_range partition(t_range_p3);
ID NAME
---------- --------------------------------------------------
25 Andy3
sec@ora10g> select * from t_partition_range partition(t_range_p4);
ID NAME
---------- --------------------------------------------------
35 Andy4
45 Andy5
5.小結
就是因為這個實驗的原因,往往在生產資料庫中使用RANGE分割槽表時,都要指定一個maxvalue分割槽,以防止出現異常資料無法插入問題。在考慮使用分割槽技術的時候要考慮周全才是上策。
-- The End --
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 (20) tablespace tbs_part02,
5 partition t_range_p3 values less than (30) tablespace tbs_part03
6 );
Table created.
2.模擬插入資料
sec@ora10g> insert into t_partition_range values (5,'Andy1');
1 row created.
sec@ora10g> insert into t_partition_range values (15,'Andy2');
1 row created.
sec@ora10g> insert into t_partition_range values (25,'Andy3');
1 row created.
sec@ora10g> insert into t_partition_range values (35,'Andy4');
insert into t_partition_range values (35,'Andy4')
*
ERROR at line 1:
ORA-14400: inserted partition key does not map to any partition
到這裡報錯了,原因就是找不到對應的分割槽,無法插入
3.新增maxvalue分割槽即可繼續插入資料
sec@ora10g> alter table t_partition_range add partition t_range_p4 values less than(maxvalue) tablespace tbs_part04;
Table altered.
sec@ora10g> insert into t_partition_range values (35,'Andy4');
1 row created.
sec@ora10g> insert into t_partition_range values (45,'Andy5');
1 row created.
sec@ora10g> commit;
Commit complete.
4.查詢每一個分割槽中包含的資料
sec@ora10g> select * from t_partition_range partition(t_range_p1);
ID NAME
---------- --------------------------------------------------
5 Andy1
sec@ora10g> select * from t_partition_range partition(t_range_p2);
ID NAME
---------- --------------------------------------------------
15 Andy2
sec@ora10g> select * from t_partition_range partition(t_range_p3);
ID NAME
---------- --------------------------------------------------
25 Andy3
sec@ora10g> select * from t_partition_range partition(t_range_p4);
ID NAME
---------- --------------------------------------------------
35 Andy4
45 Andy5
5.小結
就是因為這個實驗的原因,往往在生產資料庫中使用RANGE分割槽表時,都要指定一個maxvalue分割槽,以防止出現異常資料無法插入問題。在考慮使用分割槽技術的時候要考慮周全才是上策。
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-608839/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【實驗】【PARTITION】RANGE分割槽表合併分割槽
- 【實驗】【PARTITION】RANGE分割槽表增加分割槽
- 【實驗】【PARTITION】RANGE分割槽表刪除分割槽
- 【實驗】【PARTITION】RANGE分割槽表截斷表分割槽(Truncate Partition)
- 【實驗】【PARTITION】RANGE分割槽表移動表分割槽(Move Partition)
- 【實驗】【PARTITION】RANGE分割槽表重新命名錶分割槽(Rename Partition)
- 【實驗】【PARTITION】RANGE分割槽建立
- 實驗】【PARTITION】RANGE分割槽建立【轉】
- ORACLE 範圍分割槽 partition-range分割槽Oracle
- 【實驗】【PARTITION】exp匯出分割槽表資料
- 深入解析partition-range分割槽
- 分割槽表入無分割槽的資料庫資料庫
- 分割槽表PARTITION table
- Oracle Interval Partition 自動分割槽表-實驗Oracle
- MySQL 分割槽表 partition線上修改分割槽欄位MySql
- 【實驗】【PARTITION】交換分割槽時分割槽表有主鍵目標表亦需有主鍵
- 分割槽Partition
- Oracle分割槽表(Partition Table)Oracle
- 分割槽表PARTITION table(轉)
- oracle分割槽partition及分割槽索引partition index(一)Oracle索引Index
- 分割槽表split操作及maxvalue處理
- hive 動態分割槽插入資料表Hive
- 非分割槽錶轉換為分割槽表和partition indexIndex
- MySQL RANGE分割槽MySql
- 全面學習分割槽表及分割槽索引(6)--建立range-list組合分割槽索引
- oracle composite partition組合分割槽_composite partition rangeOracle
- Oracle分割槽表基礎運維-07增加分割槽(6RANGE_RANGE)Oracle運維
- partition 分割槽表重新命名
- 分割槽表中的maxvalue引數設定
- Oracle查詢Interval partition分割槽表內資料Oracle
- 深入學習分割槽表及分割槽索引(5)--建立range-hash組合分割槽(續)索引
- 將非分割槽錶轉換為分割槽表
- 將mysql非分割槽錶轉換為分割槽表MySql
- oracle分割槽及分割槽索引partition_partition index_維護(一)Oracle索引Index
- oracle分割槽及分割槽索引partition_partition index_維護(二)Oracle索引Index
- oracle分割槽及分割槽索引partition_partition index_維護(三)Oracle索引Index
- oracle分割槽及分割槽索引partition_partition index_維護(四)Oracle索引Index
- Oracle12c:建立主分割槽、子分割槽,實現自動分割槽插入效果Oracle