程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle數據文件的大小限制方案介紹

Oracle數據文件的大小限制方案介紹

編輯:Oracle數據庫基礎

以下文章主要是對Oracle數據文件的大小限制的方案的介紹,我們都知道racle數據文件的大小的存在限制與一個內部的,這個相關的限制就是:每個相關數據文件在最多的情況下只能包含2^22-1個數據塊。

這個限制也就直接導致了每個數據文件的最大允許大小。

在2K Block_size下,數據文件最大只能達到約8G

在32K的Block_size下,Oracle數據文件最大只能達到約16*8G的大小。

這個限制是由於Oracle的Rowid中使用22位來代表Block號,這22位最多只能代表2^22-1個數據塊。

為了擴展數據文件的大小,Oracle10g中引入了大文件表空間,在大文件表空間下,Oracle使用32位來代表Block號,也就是說,在新的技術下,大文件表空間下每個文件最多可以容納4G個Block.

那麼也就是說當Block_size為2k時,Oracle數據文件可以達到8T .

當block_size為32K時,數據文件可以達到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 塊的最大數

縮減一點,最後創建成功:

  1. SQL> alter tablespace eygle add datafile 'f:\eygle02.dbf' size 8191M reuse;  

表空間已更改。

已用

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved