ORACLE中資料檔案大小及數量限制初探

不一樣的天空w發表於2017-09-12
      在ORACLE中,資料庫是由例項和物理儲存結構組成的。而物理儲存結構是指儲存在磁碟上的物理檔案,包括資料檔案(data file)、控制檔案(control file)、聯機重做日誌(online redo log)、引數檔案(spfile/pfile)、警告日誌(alert log)、跟蹤檔案(trace file)等眾多作用不同的檔案所組成的。我們最關注的資料,則是儲存在資料檔案(data file)中。那我們在建立以及維護資料庫時,該如何規劃資料檔案的大小和數量呢?這裡面涉及較多的考量因素。主要有如下幾點:
      1、作業系統的限制
      資料庫是執行在作業系統之上的,作業系統是基礎,因此,作業系統所能支援的最大檔案容量和數量就成為資料庫所能支援的限制。但不同作業系統之間,這個限制也是不同的。
     以下是較為常見的幾種作業系統對此的限制:
          WINDOWS
         最大資料塊:16K
         最大檔案數量:20000個(資料塊2K時)/40000個(資料塊4K時)/65536個(資料塊為8K或16K時)
         最大檔案容量:4GB(檔案系統為FAT時)/ 64GB(檔案系統為NTFS時)

         UNIX和LINUX
          最大資料塊:32K (LINUX_X86為16K)
   最大檔案數量:65534個

                  
      2、ORACLE資料庫的限制
     每個資料庫可管理的最大檔案數量:65533個
     每個表空間可管理的最大檔案數量:取決於作業系統可同時開啟的檔案數量。通常是1022個。
     每個資料檔案的最大容量:該值等於 資料塊大小 * 最大可管理的資料塊數量
            其中,資料塊的大小最大不超過32K,一般取值是8K;可管理的資料塊數量是2的22次方減1,約等於4M個塊。因此,對於一個資料塊大小為8K的資料檔案,其最大不能超過32G。但是,若作業系統支援的單個檔案最大容量小於此值,則以作業系統的最大容量為限。

      3、引數DB_FILES的限制
      引數DB_FILES指定了一個例項可以建立的最大檔案數量。這個值可以被修改,但只有重啟例項後,才會生效。DB_FILES設定得過低,可能造成不成新增新的資料檔案的問題。設定得過高,會消耗更多的記憶體資源。
       
      4、效能和便利性影響
         a)  透過精心設計,將同一表空間內經常訪問的物件放置在不同的資料檔案中,並將這些資料檔案放置到不同的磁碟通道上,可以改善I/O吞吐量。
         b) 將經常改變的資料和不變的資料,放置到不同的資料檔案中,備份時,可以只對改變的資料檔案進行備份,從而減少備份和恢復的時間

注:從ORACLE 10g起,引入了大表空間的技術。所謂大表空間就是該表空間僅由1個資料檔案組成。其優點如下:
     1、顯著增加了儲存容量。大表空間可管理的資料塊數量由傳統的小表空間的2的22次方,提升到2的32次方。在同樣採用8K大小的資料塊大小時,其最大可管理空間為32T。
     2、減少了資料庫所需的資料檔案的數量。
     3、簡化資料庫管理。
     

參考資料:
    1、
    2、
    3、

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2144887/,如需轉載,請註明出處,否則將追究法律責任。

相關文章