oracle10g系統(tǒng)管理之存儲(chǔ)參數(shù)
2024-08-29 13:53:52
供稿:網(wǎng)友
1. INITIAL
對(duì)于字典管理表空間來說,INITIAL用于指定段所分配的第一個(gè)區(qū)的尺寸。對(duì)于本地管理表空間來說,如果MINEXTENTS等于1,數(shù)據(jù)庫會(huì)使用INITIAL和區(qū)尺寸確定段的初始尺寸。假定本地管理表空間的區(qū)尺寸為5M,如果INITIAl為1M,那么會(huì)分配一個(gè)5M的區(qū)。如果INITIAL為7M,則分配兩個(gè)5M的區(qū)。INITIAL只能在建立對(duì)象時(shí)設(shè)置,不能使用ALTER語句進(jìn)行修改。
CREATE TABLE t1(cola INT) TABLESPACE user01
STORAGE(INITIAL 500k);
說明:使用user01表空間,假定user01創(chuàng)建時(shí)使用UNIFORM選項(xiàng),并且區(qū)尺寸為128K.則t1表的段初始尺寸為500K。
2. NEXT
對(duì)于本地管理表空間來說,因?yàn)閿?shù)據(jù)庫可以自動(dòng)管理區(qū),所以該參數(shù)沒有太大意義。對(duì)于字典管理表空間來說,NEXT用于指定為段所分配的第二個(gè)區(qū)的尺寸。
3. PCTINCREASE
對(duì)于本地管理表空間來說,因?yàn)閿?shù)據(jù)庫可以自動(dòng)管理區(qū),所以該參數(shù)沒有太大意義。對(duì)于字典管理表空間來說,該參數(shù)可以指定從第三個(gè)區(qū)開始,每個(gè)區(qū)比前一個(gè)區(qū)所增長的百分比。
4. MINEXTENTS
對(duì)于本地管理表空間來說,因?yàn)閿?shù)據(jù)庫可以自動(dòng)管理區(qū),所以該參數(shù)沒有太大意義。對(duì)于字典管理表空間來說,MINEXTENTS用于指定為段所分配的初始區(qū)個(gè)數(shù)。
5. MAXEXTENTS
對(duì)于本地管理表空間來說,因?yàn)閿?shù)據(jù)庫可以自動(dòng)管理區(qū),所以該參數(shù)沒有太大意義。對(duì)于字典管理表空間來說,MINEXTENTS用于指定段可包含的最大區(qū)個(gè)數(shù)。
6. FREELIST GROUPS
FREELIST GROUPS用于指定對(duì)象的空閑列表組個(gè)數(shù),每個(gè)空閑列表組會(huì)占用一個(gè)數(shù)據(jù)塊。Oracle建議為Oracle Real application Cluster的每個(gè)例程指定一個(gè)空閑列表組。需要注意,F(xiàn)REELIST GROUPS只能在段級(jí)指定。
7. FREELISTS
FREELISTS用于指定每個(gè)空閑列表組上的空閑列表個(gè)數(shù),空閑列表用于維護(hù)可插入數(shù)據(jù)的數(shù)據(jù)塊。需要注意,F(xiàn)REELISTS只能在段級(jí)指定。
8. 假定建立字典管理表空間user02時(shí),指定默認(rèn)存儲(chǔ)參數(shù)INITIAL和NEXT均為10K,PCTINCREASE為50.下面以建立表t2為例,說明在字典管理表空間上這些存儲(chǔ)參數(shù)的作用。
CREATE TABLE t2(cola int) TABLESPACE user02
STORAGE(NEXT 20K MINEXTENTS 4);
執(zhí)行以上語句后,Oracle會(huì)建立表T1,并且為其分配尺寸為110K的表段t2。因?yàn)镸INEXTENTS為4,所以段T1包含四個(gè)區(qū);因?yàn)榻ū頃r(shí)未指定INITIAL,所以第一個(gè)區(qū)會(huì)使用表空間的默認(rèn)存儲(chǔ)參數(shù):10K。第二個(gè)區(qū)區(qū)20K,第三區(qū):30K,第四區(qū):50K。
9. 顯示已分配區(qū)
建立數(shù)據(jù)對(duì)象時(shí),Oracle會(huì)為數(shù)據(jù)對(duì)象分配相應(yīng)的段。段是由一個(gè)或多個(gè)區(qū)組成的,并且一個(gè)區(qū)只能存放在一個(gè)數(shù)據(jù)文件上,而同一個(gè)段的不同區(qū)可以放在不同數(shù)據(jù)文件上。通過查詢數(shù)據(jù)字典視圖dba_extents,可以取得已分配區(qū)的詳細(xì)信息。
SELECT extent_id,file_id,block_id,bytes
FROM dba_extents
WHERE owner=’SYS’ AND segment_name=’T1’;
10. 顯示空閑區(qū)
當(dāng)在表空間上建立數(shù)據(jù)對(duì)象時(shí),Oracle會(huì)在表空間的剩余空間中位相應(yīng)段分配空間。當(dāng)段不足以容納更多數(shù)據(jù)時(shí),Oracle會(huì)通過分配去來擴(kuò)展段。隨著時(shí)間的推移,將導(dǎo)致表空間的剩余空間越來越少。
SELECT sum(bytes)FROM dba_free_space
WHERE tablespace_name=’USER01’;