[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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20200814]8K資料庫最大行號.txt資料庫
- [20191204]oracle能建立最大object_id是多少.txtOracleObject
- [20211009]8K資料庫最大行號補充.txt資料庫
- [20190410]dg建立臨時表檔案資料檔案.txt
- Qt 選擇資料夾、建立資料夾以及建立檔案QT
- [20210128]拼接資料塊.txt
- [20181102]資料檔案改名與awr.txt
- Python提取文字檔案(.txt)資料的方法Python
- [20230224]改動資料檔案小技巧.txt
- [20210429]檔案頭塊不會快取.txt快取
- 利用java建立檔案或者資料夾Java
- 必須先建立資料夾再建立檔案嗎
- [20180718]拷貝資料檔案從dg庫.txt
- [20221014]資料檔案2的小疑問.txt
- [20201218]資料檔案OS頭的修復.txt
- LIUNUX如何擷取txt檔案中的內容,並建立新檔案UX
- Mac蘋果電腦怎麼建立txt檔案?Mac蘋果
- Mac怎麼建立txt檔案?如何設定新建txt的快捷鍵?Mac
- [20180306]資料塊檢查和.txt
- [20210318]bbed讀取資料塊.txt
- python如何將資料寫入本地txt文字檔案Python
- oracle 普通表空間資料檔案壞塊Oracle
- hadoop 資料夾檔案的建立與刪除Hadoop
- FileUtils類建立、刪除檔案及資料夾
- [20181031]12c 線上移動資料檔案.txt
- [20210326]Disk file operations IO與檔案型資料庫.txt資料庫
- 1.7.2. 使用ORAPWD建立資料庫密碼檔案資料庫密碼
- python實現圖書管理系統——通過excel檔案或者TXT檔案存放資料PythonExcel
- php如何上傳txt檔案,並且讀取txt檔案PHP
- [20180306]資料塊檢查和2.txt
- [20210831]bbed讀取資料塊6.txt
- [20210323]bbed讀取資料塊5.txt
- [20210318]bbed讀取資料塊2.txt
- [20210319]bbed讀取資料塊3.txt
- oracle dg庫資料檔案建立失敗ORA-01111Oracle
- 1.7. 建立和維護資料庫密碼檔案資料庫密碼
- 從cmd中匯入.SQL檔案並建立資料庫SQL資料庫
- 雲伺服器:Linux資料夾檔案建立、刪除伺服器Linux