ORACLE的一個數據文件的最大值

ORACLE的一個數據文件的最大值是多少呢?

我們知道ORACLE的最小的物理單位是BLOCK,數據文件的組成的最終形式也是block,那麼數據文件的大小限制就應該是block數量的限制,那麼究竟block的數量有何限制,這裏就要提到一個ORACLE內部術語DBA(此dba非數據庫管理員,而是data block address)

Extent 0 : L1 dba: 0x01800009 Data dba: 0x0180000d
Extent 1 : L1 dba: 0x01800089 Data dba: 0x0180008b
Extent 2 : L1 dba: 0x01800109 Data dba: 0x0180010b
Extent 3 : L1 dba: 0x01800189 Data dba: 0x0180018b
Extent 4 : L1 dba: 0x01800209 Data dba: 0x0180020b
Extent 5 : L1 dba: 0x01800289 Data dba: 0x0180028b

dba是以16進製表示的(因爲有0X),注意看一共用了8爲的16進制,換算成二進制就是32bit,而其中DBA又用10位來記錄file_id,22bit來記錄block_id,那麼在一個數據文件中最多能夠記錄2^22個block,如果一個block_size=8k,那麼這個數據文件的最大值就是8K*2^22,也就是32G,所以數據文件的最大值應該取決於塊大小,而oracle塊最大值是32K,也就是32G*4=128G。

SQL> select power(2,22)*8/1024/1024 from dual;

POWER(2,22)*8/1024/1024
-----------------------
32

轉載:http://blog.csdn.net/robinson1988/archive/2009/12/25/5073908.aspx
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章