Tuesday, October 31, 2006

ORA-00059, MAXDATAFILES and DB_FILES

check v$controlfile_record_section to see the db_files usage
/home/liqy> kmtune |grep max |grep files
maxfiles 4096 - 4096
maxfiles_lim 32768 Y 32768

Error: ORA 59
Text: maximum number of DB_FILES exceeded
-------------------------------------------------------------------------------
Cause: An unavailable resource was requested.
The maximum number of datafiles is specified by the DB_FILES parameter
in the initialization parameter file.
When this maximum is reached, no more requests are processed.
Action: Try again when the resource is freed.
If this message occurs often, Oracle must be shut down and restarted
after increasing the DB_FILES parameter in the initialization
parameter file.
If the DB_FILES parameter cannot be changed because it is already set
to the MAXDATAFILES parameter value, set at database creation, you
must create a new control file.

- Why would one set MAXDATAFILES to anything less than the port-specific
maximum?

Increasing the value of MAXDATAFILES increases the size of the
CONTROL FILE. ( I understand this, when set it to 20000, the control file size is 75Mb)

- Why would one set DB_FILES to anything less than MAXDATAFILES?

Increasing the value of DB_FILES increases the size of the PGA, or
Program Global Area, which is allocated for every user process
connected to ORACLE.
(can't understand the underlying relationship)

For my case, MAXDATAFILES in control file is 20000, however using default value of db_files, i.e. 200, caused the problem . After specify db_files=400 and restart db, I can create more datafiles now.

No comments:

Post a Comment