ORACLE物理文件大小的限制
2024-08-29 13:37:58
供稿:網(wǎng)友
 
             
  Oracle數(shù)據(jù)庫的物理文件可以設(shè)置成自動增長的類型, 這樣數(shù)據(jù)庫在需要更多空間時, 物理文件會按設(shè)定
  的增長量自動增長到指定的最大值. 這樣會有一些好處: 保證不會因?yàn)榉峙鋽?shù)據(jù)區(qū)域(extent)失敗而終止應(yīng)用.
                                                                                              但假如沒有設(shè)定這個最大值, 它將會是一個非常大的數(shù)字. 數(shù)據(jù)塊大小不同, 其最大值也不一樣. 因?yàn)镺racle
  的物理文件最大只答應(yīng)4194303個數(shù)據(jù)塊(datablock). 
  
  下面列表說明不同數(shù)據(jù)塊數(shù)據(jù)庫所能支持的最大物理文件大小:
  
  數(shù)據(jù)塊的大小 物理文件的最大值 M
  =============================================== 
  2048 8191 M
  4096 16383 M
  8192 32767 M
  16384 65535 M
  
  不幸的是, 不同操作系統(tǒng)不同Oracle版本對其物理文件的最大值限制是不一樣的. 假如物理文件超過了某
  個限制大小, ORACLE數(shù)據(jù)庫將會出現(xiàn)內(nèi)核錯誤并崩潰. 
  
  下面列出了幾種常見操作系統(tǒng)的最大物理文件限制, 有的還需要在OS端設(shè)置大的文件系統(tǒng)和特定的環(huán)境變
  量等.
  
  Windows NT Maximum 4Gb files on FAT 
  Theoretical 16Tb on NTFS
  
  
  Sun Solaris (32 bit Oracle releases)
  ===========================================================================
  OS Limits
  ~~~~~~~~~
  Release Max file-system size Max OS File size 
  < Solaris 2.6 1Tb (UFS) 2Gb
  >= Solaris 2.6 1Tb (40 bits) 1Tb
  
  Oracle Limits
  ~~~~~~~~~
  SOLARIS 2.6 / 2.7 / 2.8
  
  File EXP/ Loader
  Oracle System Raw Imp** see ** UTL_FILE 
  =====================================================
  8.1.6.0 >4Gb >=2Gb >=2Gb >=2Gb >=2Gb
  8.1.5.0 32Bit >4Gb >=2Gb <2Gb <2Gb <2Gb
  8.1.5.0 64Bit >4Gb >=2Gb <2Gb ? ? 
  8.0.6.0 >4Gb >=2Gb <2Gb ? >2Gb
  8.0.5.2 >4Gb >=2Gb <2Gb <2Gb <2Gb
  8.0.5.1 <4Gb >=2Gb <2Gb <2Gb <2Gb 
  8.0.5.0 <2Gb >=2Gb <2Gb <2Gb <2Gb 
  >=8.0.4.2 <4Gb >=2Gb <2Gb <2Gb <2Gb 
  < 8.0.4.2 <2Gb >=2Gb <2Gb <2Gb <2Gb 
  8.0.3.x <2Gb >=2Gb <2Gb <2Gb <2Gb
  7.3.4.x <2Gb >=2Gb <2Gb <2Gb <2Gb 
  7.3.3.x <2Gb >=2Gb <2Gb <2Gb <2Gb 
  
  
  HP
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  HPUX Unix Limits
  ~~~~~~~~~~~~~~~~~
  Max file system size: 
  <= HP-UX 10.10 4Gb
  >= HP-UX 10.20 128Gb 
  >= HP-UX 11.00 1Tb 
  
  Max OS file size: 
  <= HP-UX 10.10 2Gb
  >= HP-UX 10.20 128Gb 
  >= HP-UX 11.00 1Tb 
  
  Oracle on HPUX Limits
  ~~~~~~~~~~~~~~~~~~~~~~
  Max Datafile Size
  File Raw Async Export/ SQL*Loader
  Release System Device I/O Import** (see **)
  ===========================================================================
  8.1.7.x 64Gb 64Gb raw only >2Gb >2Gb
  8.1.6.x 64Gb 64Gb raw only >2Gb >2Gb
  8.0.6.x 64Gb 64Gb raw only See*1 See*2
  8.0.5.x 64Gb 64Gb raw only See*1 <2Gb
  8.0.4.x 64Gb 64Gb raw only SIL HPUX10.20 > 2Gb
  HPUX-11 <2Gb
  8.0.3.x <2Gb <2Gb raw only 2Gb 2Gb
  7.3.4.x 64Gb 64Gb raw only SIL 2Gb
  >=7.3.3.4.1 64Gb 64Gb raw only SIL 2Gb
  7.3.2.3 <2Gb <2Gb raw only 2Gb 2Gb
  7.1.6 <2Gb <2Gb raw only 2Gb 2Gb
  
  
  下面的SQL語句可以查看數(shù)據(jù)庫物理文件是否是自動增長的及相關(guān)參數(shù).
  
  select tablespace_name,file_name,round(bytes/(1024*1024),0) total_space,
  autoextentsible,increment_by,maxbytes from dba_data_files order by tablespace_name;
                         
  
  假如你治理的數(shù)據(jù)庫物理文件是自動增長的并有可能超過操作系統(tǒng)或Oracle版本文件最大限制時, 請盡快
  改變它的屬性, 把它設(shè)定成非自動增長的或者限定它最大的值.
  
  假如物理文件的物理位置是 D:/ORACLE/ORADATA/ORACLE8/APP01.DBF 用下面的SQL語句可以實(shí)現(xiàn)這一操
  作:
  
  alter database datafile 'D:/ORACLE/ORADATA/ORACLE8/APP01.DBF' autoextend off;
  
  alter database datafile 'D:/ORACLE/ORADATA/ORACLE8/APP01.DBF' autoextend on next 50M 
  maxsize 1500M;
  
  假如有良好的數(shù)據(jù)庫存儲規(guī)劃, 物理文件最好還是設(shè)置成非自動增長的類型.