[20230223]8k資料塊建立最大檔案是多少(ORA-03206).txt
[20230223]8k資料塊建立最大檔案是多少(ORA-03206).txt
--//被別人問及這個問題,實際上對於8k資料塊大小能建立的資料檔案大小等於 32G-8*2K .
--//oracle普通資料檔案(不包括big datafile),資料塊地址佔32位(對於small datafile),前10位表示檔案號,後22位表示塊號,不包括全
--//部為0,全部為1的資料塊.這樣塊號應該是2^22-2 = 4194302
--//這樣如果8K資料塊,最大建立的資料檔案大小4194302*8 = 33554416.
--//為什麼要減2呢?實際上資料檔案第0塊是資料檔案的OS頭,最後1塊,我不知道為什麼?
--//真正的資料塊從1開始(資料檔案頭).這樣資料塊佔用的數量是2^22-2=4194302.
--//測試如下:
1.環境:
SCOTT@book> @ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
2.測試1:
SYS@book> create tablespace testxy datafile '/u01/testxy01.dbf' size 16m autoextend on next 16m maxsize 32G;
create tablespace testxy datafile '/u01/testxy01.dbf' size 16m autoextend on next 16m maxsize 32G
*
ERROR at line 1:
ORA-03206: maximum file size of (4194304) blocks in AUTOEXTEND clause is out of range
SYS@book> create tablespace testxy datafile '/u01/testxy01.dbf' size 16m autoextend on next 16m maxsize 33554424k;
create tablespace testxy datafile '/u01/testxy01.dbf' size 16m autoextend on next 16m maxsize 33554424k
*
ERROR at line 1:
ORA-03206: maximum file size of (4194303) blocks in AUTOEXTEND clause is out of range
$ oerr ora 03206
03206, 00000, "maximum file size of (%s) blocks in AUTOEXTEND clause is out of range"
// *Cause: The maximum file size for an autoextendable file has
// exceeded the maximum number of blocks allowed.
// *Action: Reduce the size and retry.
SYS@book> create tablespace testxy datafile '/u01/testxy01.dbf' size 16m autoextend on next 16m maxsize 33554416k;
Tablespace created.
$ ll /u01/testxy01.dbf
-rw-r----- 1 oracle oinstall 16785408 2023-02-24 09:11:17 /u01/testxy01.dbf
--//如果你檢視資料檔案可以發現實際上建立的大小是 16M+8k, 16*1024*1024+8192 = 16785408.
3.測試2:
--//對於big datafile檔案呢?這樣1個表空間僅僅有1個資料檔案.資料塊地址佔32位,32位全部用來表示塊號.
--//2^32-2 = 4294967294
--//4294967294*8 = 34359738352
--//34359738352/1024/1024 = 32767.9999847412109375= 32767.99999237060546875, 相當接近於32768G. 也就是32T.
--//先刪除testxy表空間,繼續測試:
SYS@book> CREATE BIGFILE TABLESPACE testxy DATAFILE '/u01/testxy01.dbf' SIZE 16M AUTOEXTEND ON NEXT 16M MAXSIZE 34359738352K;
CREATE BIGFILE TABLESPACE testxy DATAFILE '/u01/testxy01.dbf' SIZE 16M AUTOEXTEND ON NEXT 16M MAXSIZE 34359738352K
*
ERROR at line 1:
ORA-03206: maximum file size of (4294967294) blocks in AUTOEXTEND clause is out of range
--//很明顯對於BIGFILE不是這樣的情況.
SYS@book> CREATE BIGFILE TABLESPACE testxy DATAFILE '/u01/testxy01.dbf' SIZE 16M AUTOEXTEND ON NEXT 16M MAXSIZE 34359738344K;
Tablespace created.
--//2^32-3 = 4294967293
--//4294967293*8 = 34359738344
--//為什麼不是-2我不清楚為什麼.那位知道.
4.最小資料檔案呢?
--//以前測試過,不再貼出.
--//連結:[20171206]最小資料檔案.txt=>http://blog.itpub.net/267265/viewspace-2148337/
--//如果建立的資料檔案如果SEGMENT SPACE MANAGEMENT AUTO (8K資料塊),最小檔案是88k.實際佔用大小96K.
--//第0塊OS塊,第1塊檔案頭,第2塊是點陣圖頭,第3塊是點陣圖區.一個extent=64K佔8*8K.
--// 3+8 = 11 , 11*8=88k.
--//如果使用SEGMENT SPACE MANAGEMENT MANUAL(8K資料塊),最小檔案是40k.實際佔用大小48K.
--//因為EXTENT MANAGEMENT LOCAL UNIFORM SIZE最小佔2個資料塊,對於8k資料塊=16K.
--//第0塊OS塊,第1塊檔案頭,第2塊是點陣圖頭,第3塊是點陣圖區.一個extent=16佔2*8K.
--// 3+2 = 5 , 5*8=40.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2936973/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 注意資料檔案最大塊數限制
- oracle 下最大資料檔案能建立多大Oracle大資料
- [20200814]8K資料庫最大行號.txt資料庫
- [20191204]oracle能建立最大object_id是多少.txtOracleObject
- 資料檔案頭塊保留大小、ROWID、資料檔案最大大小等資料庫限制的說明資料庫
- [20190410]dg建立臨時表檔案資料檔案.txt
- [20211009]8K資料庫最大行號補充.txt資料庫
- Oracle資料檔案最大值Oracle
- 建立資料庫檔案-日誌檔案-次要資料庫檔案資料庫
- [20161110]資料檔案的第0塊.txt
- [20121019]8k資料塊到底能放多少行記錄.txt
- 關於資料庫檔案最大數資料庫
- [20161031]rman備份與資料檔案OS塊.txt
- [20171122]恢復資料檔案塊頭5.txt
- [20171114]恢復資料檔案塊頭2.txt
- Qt 選擇資料夾、建立資料夾以及建立檔案QT
- [20161111]資料檔案的第0塊2.txt
- [20171115]恢復資料檔案塊頭3補充.txt
- [20171115]恢復資料檔案塊頭4補充.txt
- [20121115]關於oracle資料檔案的第1塊.txtOracle
- Oracle資料庫資料檔案small file的最大值Oracle資料庫
- Mac蘋果電腦怎麼建立txt檔案?Mac蘋果
- [20170925]建立檔案分配大小.txt
- Python提取文字檔案(.txt)資料的方法Python
- 利用java建立檔案或者資料夾Java
- 為oracle資料庫建立口令檔案Oracle資料庫
- 必須先建立資料夾再建立檔案嗎
- rman恢復資料檔案-----塊折斷
- LMT & ASSM資料檔案塊分配圖示SSM
- 【exp】快速檢測資料檔案壞塊
- Mac怎麼建立txt檔案?如何設定新建txt的快捷鍵?Mac
- LIUNUX如何擷取txt檔案中的內容,並建立新檔案UX
- [20170118]linux建立檔案型交換檔案.txtLinux
- [20170221]資料檔案與檔案系統快取.txt快取
- [20171206]最小資料檔案.txt
- mysql資料庫的檔案建立方式MySql資料庫
- oracle9i 檔案資料庫建立Oracle資料庫
- oracle 普通表空間資料檔案壞塊Oracle