oracle資料檔案個數限制

jerryhui發表於2009-10-23
關於oracle資料庫中db_files引數和maxdatafiles引數<!--

oracle中在建立表空間的時候經常會遇到資料檔案超過就大數的限制,如何解決這個問題呢?

 

這個問題受兩個引數的限制一個是maxdatafiles,一個是db_filesmaxdatafiles在控制檔案中指定,db_files在引數檔案中指定,一般db_files<=maxdatafiles

select  count(*) from dba_data_files;

當查詢已經達到db_files時,需要修改db_files,把這個值調大。修改方法是,在8i中,在init$ORACLE_SID.ora指定這個值即可,如在檔案末尾新增 db_files=xxx,然後重啟資料庫即可,在9i中如果是使用spfile引數檔案的話,使用下面的sqllter system set db_files=xxx scope=both; 即可。

 

db_files達到maxdatafiles的值時,就要修改maxdatafiles,把這個值調大,因為這個引數值在控制檔案中指定,要修改的話,就要重建控制檔案,方法如下:

 

  1. 備份控制檔案

sqlplus "/ as sysdba"

alter database backup controlfile to trace;

show parameter user_dump_dest;

 

  1. 修改生重建控制檔案的指令碼

user_dump_dest引數指定的目錄檢視剛才生成的trace檔案,把它改名為 create_control.sql,用vi修改這個檔案,把註釋以及無關的檔案描述刪除後儲存。修改maxdatafiles引數的值,把它調大到你所要的值。

  1.  重建控制檔案

sqlplus "/ nolog"

connect internal

@create_control.sql

 

指令碼會啟動資料庫,到這一步,修改即可成功。

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

相關文章