程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 簡捷的Oracle增加表分區研究

簡捷的Oracle增加表分區研究

編輯:Oracle數據庫基礎

Oracle增加表分區(add partition)是常用的Oracle分區常用的操作。下面就簡單的介紹下Oracle增加表分區的知識要點。

增加表分區適應於所有的分區形式,其語法是alter table tbname add partition .....

但是,需要注意對於像list,range這種存在范圍值的分區,所要增加的分區值必須要大於當前分區中的最大值(如果當前存在maxvalue或default的分區,add partition會報錯,這種情況只能使用split,後面會講到),hash分區則無此限制。

例如:

  1. JSSWEB> 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 tbspart01,  
  4.    partition t_range_p2 values less than (20) tablespace tbspart02,  
  5.    partition t_range_p3 values less than (30) tablespace tbspart03  
  6.     );  

表已創建。

  1. JSSWEB> alter table t_partition_range  
  2. add partition t_range_p4 values less than(40);  
  3.  

表已更改。
Hash和list的語法與上類似,這裡不再舉例。

注意:

1、對於hash分區,當你執行add partition操作的時候,Oracle會自動選擇一個分區,並重新分配部分記錄到新建的分區,這也意味著有可能帶來一些IO操作。

2、執行alter table時未指定update indexes子句:
如果是range/list分區,其local索引和global索引不會受影響;
如果是hash分區,新加分區及有數據移動的分區的local索引和glocal索引會被置為unuseable,需要重新編譯。

3、復合分區完全適用上述所述規則。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved