【實驗】【PARTITION】RANGE分割槽表未指定maxvalue分割槽將無法插入相關資料

secooler發表於2009-07-10
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 --

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-608839/,如需轉載,請註明出處,否則將追究法律責任。

相關文章