LMT和DMT下儲存引數的異同(轉)
本文的DB_BLOCK_SIZE=8K
1、字典管理
MIN_EXTENT:可以是大於0的任意整數
PCT_INCREASE:
INITIAL:,則如果建表時設定的INITIAL設定的值大於2*D,則實際INITIAL=CEIL(T/D)*D;如果建表時設定的INITIAL設定的值小於等於2*D,則實際INITIAL值為2*D。
如:EXP-1
create table test1
(
a number
)
tablespace system--字典管理表空間
storage
(
initial 1k
next 1k
minextents 4
pctincrease 20
);
在這個例子中,實際INITIAL為16K;
EXP-2
create table test2
(
a number
)
tablespace system--字典管理表空間
storage
(
initial 100k
next 100k
minextents 4
pctincrease 20
);
在這個例子中,實際的INITIAL=CEIL(100/8)*8=104
NEXT:
如果S=1,則實際的NEXT=CEIL(INITIAL*(1+P/100)/N)*N,其中INITIAL為實際值,而不是設定值;
如果S>1,則NEXT的實際值為S=1的情況下的第S+1個extent的值
EXP-3
create table test1
(
a number
)
tablespace system--字典管理表空間
storage
(
initial 100k
next 100k
minextents 1
pctincrease 20
);
在本例中,實際的NEXT=CEIL(104*1.2/8)*8=128
EXP-4
create table test1
(
a number
)
tablespace system--字典管理表空間
storage
(
initial 100k
next 100k
minextents 4
pctincrease 20
);
在本例中,實際的NEXT=192。
第二個EXTENT=INITIAL=104
SQL> select ceil(104*1.2/8)*8 from dual;(第3個EXTENT)
CEIL(124.8/8)*8
---------------
128
SQL> select ceil(128*1.2/8)*8 from dual;(第4個EXTENT)
CEIL(128*1.2/8)*8
-----------------
160
SQL> c/128/160
1* select ceil(160*1.2/8)*8 from dual;(第5個EXTENT)
SQL> /
CEIL(160*1.2/8)*8
-----------------
192
在本例中,NEXT=192K
2、本地管理
在建立表空間和建立表時,都可以設定storage引數。其中表的storage引數的優先順序大於表空間的引數。如果建表時沒有指定storage,則oracle會繼承表所對應的表空間的儲存引數。
INITIAL
LMT下,oracle在表空間一級不能設定NEXT, PCTINCREASE, MINEXTENTS, MAXEXTENTS,但在段一級可以設定這幾個引數(如在建表、索引的時候)。如果在段一級設定了這幾個引數,則這幾個引數將用來計算段的INITIAL值,此時段的INITIAL值將不是設定值,而是通過計算得到。
如果LMT表空間不是UNIFORM,則:
EXP-5
create table test
(
a number
)
storage
(
initial 100k
next 100k
minextents 4
pctincrease 100
);
該表所在表空間為本地管理的,這個表的實際的INITIAL為832K。
在LMT下,extent都是以64K為基本單位的,其初始的extent一般為64K。在本例中,MINEXTENTS為4,則前四個extent的實際大小分別為:
104K-104K-208K-416K(PCTINCREASE 100,參考DICT下INITIAL的計算方法)
所以,本例中INITIAL=104+104+208+416=832K。由於LMT下的EXTENT最小單位是64K,832剛好是64的倍數,所以oracle分配13個extents給INITIAL;如果計算得到的INITIAL不是64K的整數倍,oracle會按一下方法計算並分配:
CEIL(INITIAL/64)*64
如果LMT是UNIFORM(UNIT SIZE=16K),則
EXP-6
create table test
(
a number
)
tablespace t_uniform
storage
(
initial 100k
next 100k
minextents 4
);
則INITIAL=104+104+104+104=416,建表時oracle分配了26個extent給test
LMT下,PCTINCREASE, NEXT引數將不復存在(不能修改)
http://space6212.itpub.net/post/12157/230765
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/756652/viewspace-242340/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LMT下表儲存引數的使用
- Oracle表空間的管理方式(LMT、DMT)--本地和字典管理Oracle
- mysql儲存過程的引數MySql儲存過程
- PHP 編譯引數儲存PHP編譯
- LMT下extent的分配
- 2、儲存容量和儲存地址空間的轉換
- 雲上大資料儲存:探究 JuiceFS 與 HDFS 的異同大資料UI
- 加速全球數字化轉型,HPE智慧儲存平臺引領新時代儲存變革
- Tensorflow儲存神經網路引數有妙招:Saver和Restore神經網路REST
- Laravel同時接收路由引數和查詢字串中的引數Laravel路由字串
- 【轉載】Vim儲存只讀模式下的修改模式
- dependencies 和 devDependencies 的異同dev
- 變數的儲存方式和生存期變數
- linux下修改history命令儲存條數Linux
- 基於spring和swagger寫了個引數校驗的方法在此做個儲存SpringSwagger
- go 如何呼叫 sqlserver 帶傳出引數的儲存過程GoSQLServer儲存過程
- HashData和Snowflake的“同”與“異”
- PPT儲存時出現“連同字型儲存”彈窗的解決方法
- mysql和orcale的儲存過程和儲存函式MySql儲存過程儲存函式
- 細述企業級儲存NAS和SAN差異
- hadoop異構儲存+lucene索引Hadoop索引
- RestController和Controller的區別和異同RESTController
- Kotlin藝術探索之引數和異常Kotlin
- Python閉包和儲存自由變數Python變數
- Petapoco、Dapper和EF Core的異同APP
- Web前端和後端的異同Web前端後端
- MySQL儲存過程in、out、inout引數示例與總結MySql儲存過程
- LSM的儲存和定位
- MySQL優化---儲存過程和儲存函式-1-轉自部落格園MySql優化儲存過程儲存函式
- SAS 數值儲存方式和精度問題
- workman 和swoole 區別 和異同
- JAVA儲存過程(轉)Java儲存過程
- 儲存一下
- 浪潮儲存:以全快閃記憶體儲加速數字轉型記憶體
- MySQL儲存過程的異常處理方法MySql儲存過程
- 前端和後端開發的異同前端後端
- 策略模式和模板方法模式的異同模式
- 計算機儲存器的容量計算和地址轉換計算機