Oracle數(shù)據(jù)文件的大小限制方案介紹
以下文章主要是對Oracle數(shù)據(jù)文件的大小限制的方案的介紹,我們都知道racle數(shù)據(jù)文件的大小的存在限制與一個內(nèi)部的,這個相關的限制就是:每個相關數(shù)據(jù)文件在最多的情況下只能包含2^22-1個數(shù)據(jù)塊。
這個限制也就直接導致了每個數(shù)據(jù)文件的***允許大小。
在2K Block_size下,數(shù)據(jù)文件***只能達到約8G
在32K的Block_size下,Oracle數(shù)據(jù)文件***只能達到約16*8G的大小。
這個限制是由于Oracle的Rowid中使用22位來代表Block號,這22位最多只能代表2^22-1個數(shù)據(jù)塊。
為了擴展數(shù)據(jù)文件的大小,Oracle10g中引入了大文件表空間,在大文件表空間下,Oracle使用32位來代表Block號,也就是說,在新的技術下,大文件表空間下每個文件最多可以容納4G個Block.
那么也就是說當Block_size為2k時,Oracle數(shù)據(jù)文件可以達到8T .
當block_size為32K時,數(shù)據(jù)文件可以達到128T.
上周在做2K block_size測試時,***次遇到了這個限制:
SQL> alter tablespace eygle add datafile 'f:\eygle02.dbf' size 8192M; alter tablespace eygle add datafile 'f:\eygle02.dbf' size 8192M * ERROR 位于第 1 行: ORA-01144: 文件大小 (4194304 塊) 超出 4194303 塊的***數(shù)
縮減一點,***創(chuàng)建成功:
- SQL> alter tablespace eygle add datafile 'f:\eygle02.dbf' size 8191M reuse;
表空間已更改。
已用時間: 00: 44: 42.08
計算一下,這臺破爛的測試機的IO速度:
- io speed = 8191 M / 00: 44: 42.08 = 8191 M / 44*60+42 = 8191M / 2682 s = 3.05M/s
上述的相關內(nèi)容就是對Oracle數(shù)據(jù)文件大小的限制的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】
- Oracle SQL執(zhí)行緩慢的原因以及解決方案
- Oracle delete執(zhí)行過程的流程介紹
- Oracle查詢表名與表列名的實際操作方案
- Oracle數(shù)據(jù)如何獲取方式進行測試
- Oracle數(shù)據(jù)庫中如何正確的查看sql