oracle 11g資料表空間之最大最小____oracle

來源:互聯網
上載者:User
oracle支援的檔案大小和他的db_block_size和db_block的數量決定的。在oracle 9i以前,oracle 的db_block的數量最大隻能為2的22次方個,而我們通過oracle預設的模板建的資料庫執行個體的db_block_size是8K。所以oracle 9i以前支援的單個檔案的預設大小是32GB。雖然在oracle 11g沒有這個限制,但是它預設的能力也是這麼多。所以我在前面講如果你遇到這個問題,說明你不是一般人,你在建立一個單個檔案超過32GB的資料表空間。


那麼怎麼解決這個問題呢,我這裡提供三個參考方案,你使用選擇其中對你合適的,呵呵:


一)不要建立單個檔案超過32GB的資料表空間


如果你建立的資料表空間超過32GB,請把這個資料表空間儲存為多個資料檔案,每個檔案不大於32GB。這樣,就可以成功的建立資料表空間。

二)擴大db_block_size


根據oracle的演算法,我們很容易想到這個解決方案。數目衡定,但是db_block_size可以更改(db_block_size的最大大小為32KB)。如果把db_block_size擴大到32KB(32位系統好像是16KB,我在Red Hat 企業版的作業系統建立32KB的block_size失敗。),那麼我們的系統就可以支援單個資料檔案最大128GB。


這個方案聽起來好像很迷人,但是實際上並不是那麼回事。因為要修改db_block_size並不是很容易的事。因為這個db_block_size在建立執行個體的時候就要指定。而且不能通過簡單修改參數來指定db_block_size。建立更大的db_block_size的資料庫執行個體我會在以後講。


三)建立bigfile資料表空間


在oracle11g中引進了bigfile資料表空間,他充分利用了64位CPU的定址能力,使oracle可以管理的資料檔案總量達到8EB。單個資料檔案的大小達到128TB,即使預設8K的db_block_size也達到了32TB。


建立bigfile的資料表空間使用的sql語句也很簡單。


create bigfile tablespace...


後面的語句和普通的語句完全一樣。


需要注意的是使用bigfile資料表空間,他只能支援一個資料檔案。也就是說這個檔案的最大大小就是資料表空間最大大小,你不可能通過增加資料檔案來擴大該資料表空間的大小。所以oracle說,如果你的這個檔案沒有剩餘空間的話,你還是不要使用bigfile資料表空間了,這個資料表空間你沒有擴充的餘地了,呵呵。


oracle也同樣告訴你了,建議你使用lvm或者別的軟體管理磁碟,以使你的空間可以動態擴大。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.