DB_FILES引數
【前言】Oracle資料庫建立是的預設引數一般是夠大部分的資料庫使用了,但是在一些情況下有寫引數是需要進行變更的。
【問題背景】公司有個Oracle的資料庫倉庫,整個資料庫大小5TB+,但是整個空間也快滿了。在進行新增表空間的時候就報了ORA-59的錯誤。
【問題分析】
1、錯誤分析
[oracle@ekpjdbtest trace]$ oerr ora 59
00059, 00000,
"maximum number of DB_FILES exceeded"
// *Cause: The value of the DB_FILES initialization parameter was exceeded.
// *Action: Increase the value of the DB_FILES parameter and warm start.
|
以上報錯顯示DB_FILES引數值已經達到最大。
SQL>
select
count(1)
from
dba_data_files;
COUNT(1)
----------
200
SQL> show parameter db_files;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_files integer 200
|
2、db_files的oracle文件說明
Property | Description |
---|---|
Parameter type | Integer |
Default value |
200
|
Modifiable | No |
Range of values |
Minimum: the largest among the absolute file numbers of the datafiles in the database
Maximum: operating system-dependent |
Basic | No |
Oracle RAC | Multiple instances must have the same value. |
DB_FILES
specifies the maximum number of database files that can be opened for
this database. The maximum valid value is the maximum number of files,
subject to operating system constraint, that will ever be specified for
the database, including files to be added by
ADD DATAFILE
statements.
If you increase the value of
DB_FILES
, then
you must shut down and restart all instances accessing the database
before the new value can take effect. If you have a primary and standby
database, then they should have the same value for this parameter.
【解決方法】
知道了整個問題的來龍去脈,解決方法也就很簡單了。
SQL> alter system
set
db_files=500 scope=spfile;
Shutdown the database with immediate option and restart so that the
new
value
for
db_files can be read.
SQL> shutdown immediate
SQL> startup
Check the
new
value
for
db_files parameter
SQL> show parameter db_files;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_files integer 500
|
【其他】
1、
DB_FILES
引數涉及到要開啟作業系統的資料檔案的個數,所以如果還有問題也要檢視下作業系統的一些引數情況
[oracle@test trace]$ ulimit -a
open files (-n) 65536
|
2、db_files和maxdatafiles引數的關係
The
db_files parameter is a "soft limit " parameter that controls the
maximum number of physical OS files that can map to an Oracle instance.
Historically (before Oracle8i) you need to be careful not to set
db_files too high, else you would have DBWR (database writer) issues.
The
maxdatafiles parameter is a different "hard limit" parameter. When you
issue a"create database" command, the value you specify for
maxdatafiles is stored in your Oracle control files. The default value
of 32 is usually sufficient, but after Oracle8i there is no downside to
using a larger value.
在Oracle11G maxdatafiles這個引數是會自動擴充套件的,所以我們沒有必要對該檔案進行設定(發現有網友因為db_files的檔案問題重新建立了控制檔案,經過本人測試確實沒有必要)。
我在測試環境中進行了操作,maxdatafiles的大小是8,然後增加資料檔案的方式來進行表空間,發現資料庫的alert log裡面就記錄了整個maxdatafiles擴充套件的操作記錄。
1、alert log顯示控制檔案進行了Expanded的操作
Expanded controlfile section 4
from
10 to 40 records
Requested to grow
by
30 records; added 1 blocks of records
2、alter database backup controlfile to trace resetlogs; 檢視控制檔案的引數情況
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE
"WZQ"
RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 40
MAXINSTANCES 8
MAXLOGHISTORY 292
顯示MAXDATAFILES檔案已經修改成40了。
|
【總結】一個簡單的表空間問題,經過測試和驗證把問題都弄清楚了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12679300/viewspace-2157899/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RAC 修改引數DB_FILES
- 更改oracle 預設db_files 200(ORA-00059: maximum number of DB_FILESOracle
- 什麼是請求引數、表單引數、url引數、header引數、Cookie引數?一文講懂HeaderCookie
- python疑問5:位置引數,預設引數,可變引數,關鍵字引數,命名關鍵字引數區別Python
- 12.MyBatis學習--對映檔案_引數處理_單個引數&多個引數&命名引數MyBatis
- Java對比有引數和無引數Java
- ORA-00059:maximum number of DB_FILES exceed 解決
- ORA-00059: maximum number of DB_FILES exceeded 處理
- mt引數
- COMPATIBLE引數
- 引數配置
- python引數Python
- 超引數
- 引數的定義和引數的傳遞
- nginx 常見引數以及重定向引數配置Nginx
- 引數匹配模型——Python學習之引數(二)模型Python
- 常用的jvm配置引數 :永久區引數配置JVM
- c# 方法引數(傳值,傳引用,ref,out,params,可選引數,命名引數)C#
- Bash變數和引數變數
- python變數和引數Python變數
- 小程式內引數和掃碼引數統一
- Python函式/動態引數/關鍵字引數Python函式
- C技巧:結構體引數轉成不定引數結構體
- vue17自定義指令(有引數,無引數)Vue
- 引數匹配順序——Python學習之引數(三)Python
- livewire 中wire:click=test('中文引數')引數報錯
- Nginx編譯引數大全 configure引數中文詳解Nginx編譯
- 函式引數 引數定義函式型別函式型別
- TypeScript 函式可選引數和預設引數TypeScript函式
- postman 請求引數和 Spring Boot Controller 接受引數PostmanSpring BootController
- 調優引數
- 引數傳遞
- jmeter 引數理解JMeter
- 帆軟引數
- JavaWeb引數配置JavaWeb
- arp命令 引數
- ipconfig命令引數
- tasklist命令 引數