oracle中用Create Table建立表時,Storage中引數的含義!

haitsun發表於2007-06-21
可用於:表空間、回滾段、表、索引、分割槽、快照、快照日誌

引數名稱預設值最小值最大值說明INITIAL5(資料塊)2(資料塊)作業系統限定分配給Segment的第一個Extent的大小,以位元組為單位,這個引數不能在alter語句中改變,如果指定的值小於最小值,則按最小值建立。NEXT5(資料塊)1(資料塊)作業系統限定第二個Extent的大小等於NEXT的初值,以後的NEXT值=前一NEXT大小乘以(1+PCTINCREASE/100),如果指定的值小於最小值,則按最小值建立。
如果在alter語句中改變NEXT的值,則下一個分配的Extent將具有指定的大小,而不管上一次分配的Extent大小和PCTINCREASE引數值。MINEXTENTS1(Extent)
回滾段為2個Extent1(Extent)
回滾段為2個Extent作業系統限定Segment第一次建立時分配的Extent數量MAXEXTENTS根據資料塊大小而定1(Extent)
回滾段為2個Extent無限制隨著Segment中資料量的增長,最多可分配的Extent數量PCTINCREASE50%


(Oracle816中為0%)0%作業系統限定指定第三個及其後的Extent相對於上一個Extent所增加的百分比,
如果PCTINCREASE為0,則Segment中所有新增加的Extent的大小都相同,等於NEXT的值,
如果PCTINCREASE大於0,則每次計算NEXT的值(用上面的公式),
PCTINCREASE不能為負數。
建立回滾段時,不可指定此引數,回滾段中此引數固定為0。OPTIMAL----不能小於回滾段初始分配空間作業系統限定僅與回滾段有關,當回滾段因為增長、擴充套件而超過此引數的設定範圍時,Oracle系統會根據情況動態地重新分配Extents,試圖收回多分配的Extent。FREELISTS11資料塊大小限制只能在CREATE TABLE、CLUSTER、INDEX中指定FREELISTS和FREELIST GROUPS引數。
模式物件中每一個自由列表組中自由列表的數量FREELIST GROUPS11取決於Oracle並行例項的數量使用者建立的資料庫物件的自由列表組的數量,只有用OPS並行伺服器選項時才使用這一引數,一個例項對應一個組。BUFFER_POOL------------給模式物件定義預設緩衝池(快取記憶體),該物件的所有塊都儲存在指定的快取記憶體中,對於表空間或回滾段無效。
建議PCTINCREASE引數設定為0,可使碎片最小化,使每一個Extent都相同(等於NEXT值)一旦建立了某個物件,它的INITIAL和MINEXTENTS引數不能修改(Oracle 816中可修改MINEXTENTS引數)對於NEXT和PCTINCREASE的任何修改都隻影響後來分配的那些Extent在分配一個新Extent時,系統直接按NEXT的值分配一個Extent,然後用公式:前一NEXT值*(1+PCTINCREASE/100) 計算出下一個應該分配的Extent的大小,並把計算結果儲存到相關資料字典的NEXT_EXTENT列上,做為下一個應該分配的Extent的大小。CREATE TABLE test(a number)STORAGE(INITIAL 100K NEXT 100K MINEXTENTS 2 MAXEXTENTS 100 PCTINCREASE 100); 解釋:初始給test表分配兩個Extent,第一個Extent是100K,因INITIAL=100K第二個Extent是100K,因NEXT=100K如果因表內資料增長,需要分配第三個Extent,因PCTINCREASE是100,則第三個Extent是200K=100K+100K第四個Extent是400K=200K+200K可透過資料字典表DBA_TABLES、ALL_TABLES、USER_TABLES檢視引數設定情況,如:select table_name,initial_extent,next_extent,min_extents,max_extents,pct_increase from user_tables;TABLE_NAME INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE---------- -------------- ----------- ----------- ----------- ------------TEST 106496 212992 2 100 100
  [@more@]可用於:表空間、回滾段、表、索引、分割槽、快照、快照日誌

引數名稱預設值最小值最大值說明INITIAL5(資料塊)2(資料塊)作業系統限定分配給Segment的第一個Extent的大小,以位元組為單位,這個引數不能在alter語句中改變,如果指定的值小於最小值,則按最小值建立。NEXT5(資料塊)1(資料塊)作業系統限定第二個Extent的大小等於NEXT的初值,以後的NEXT值=前一NEXT大小乘以(1+PCTINCREASE/100),如果指定的值小於最小值,則按最小值建立。
如果在alter語句中改變NEXT的值,則下一個分配的Extent將具有指定的大小,而不管上一次分配的Extent大小和PCTINCREASE引數值。MINEXTENTS1(Extent)
回滾段為2個Extent1(Extent)
回滾段為2個Extent作業系統限定Segment第一次建立時分配的Extent數量MAXEXTENTS根據資料塊大小而定1(Extent)
回滾段為2個Extent無限制隨著Segment中資料量的增長,最多可分配的Extent數量PCTINCREASE50%


(Oracle816中為0%)0%作業系統限定指定第三個及其後的Extent相對於上一個Extent所增加的百分比,
如果PCTINCREASE為0,則Segment中所有新增加的Extent的大小都相同,等於NEXT的值,
如果PCTINCREASE大於0,則每次計算NEXT的值(用上面的公式),
PCTINCREASE不能為負數。
建立回滾段時,不可指定此引數,回滾段中此引數固定為0。OPTIMAL----不能小於回滾段初始分配空間作業系統限定僅與回滾段有關,當回滾段因為增長、擴充套件而超過此引數的設定範圍時,Oracle系統會根據情況動態地重新分配Extents,試圖收回多分配的Extent。FREELISTS11資料塊大小限制只能在CREATE TABLE、CLUSTER、INDEX中指定FREELISTS和FREELIST GROUPS引數。
模式物件中每一個自由列表組中自由列表的數量FREELIST GROUPS11取決於Oracle並行例項的數量使用者建立的資料庫物件的自由列表組的數量,只有用OPS並行伺服器選項時才使用這一引數,一個例項對應一個組。BUFFER_POOL------------給模式物件定義預設緩衝池(快取記憶體),該物件的所有塊都儲存在指定的快取記憶體中,對於表空間或回滾段無效。
建議PCTINCREASE引數設定為0,可使碎片最小化,使每一個Extent都相同(等於NEXT值)一旦建立了某個物件,它的INITIAL和MINEXTENTS引數不能修改(Oracle 816中可修改MINEXTENTS引數)對於NEXT和PCTINCREASE的任何修改都隻影響後來分配的那些Extent在分配一個新Extent時,系統直接按NEXT的值分配一個Extent,然後用公式:前一NEXT值*(1+PCTINCREASE/100) 計算出下一個應該分配的Extent的大小,並把計算結果儲存到相關資料字典的NEXT_EXTENT列上,做為下一個應該分配的Extent的大小。CREATE TABLE test(a number)STORAGE(INITIAL 100K NEXT 100K MINEXTENTS 2 MAXEXTENTS 100 PCTINCREASE 100); 解釋:初始給test表分配兩個Extent,第一個Extent是100K,因INITIAL=100K第二個Extent是100K,因NEXT=100K如果因表內資料增長,需要分配第三個Extent,因PCTINCREASE是100,則第三個Extent是200K=100K+100K第四個Extent是400K=200K+200K可透過資料字典表DBA_TABLES、ALL_TABLES、USER_TABLES檢視引數設定情況,如:select table_name,initial_extent,next_extent,min_extents,max_extents,pct_increase from user_tables;TABLE_NAME INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE---------- -------------- ----------- ----------- ----------- ------------TEST 106496 212992 2 100 100
  

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

相關文章