天天看点

关于db_files和maxdatafiles的问题

昨天在做生产监控的时候发现有个库的表空间不够了,就发邮件给客户的dba去处理,但是得到的反馈是尝试添加的时候发现已经超过了数据文件的最大数限制。这个错误毫无疑问就是"ORA-00059: Maximum Number Of db_files Exceeded"

一看到这个问题,一下子感觉就头大了。这个参数是在创建数据库的时候就应该考虑到的。竟然没有考虑周全,如果控制文件中的maxdatafiles没有值太小,只能重建控制文件了。如果本身数据文件的数量超过了最大限制,甚至还需要考虑重建数据库,如果碰到这种事就太郁闷了。

查看oracle的文档,赫然可以看到以下的参数是需要在创建数据库(尤其是RAC)中需要考虑的。

ACTIVE_INSTANCE_COUNT

ARCHIVE_LAG_TARGET

CLUSTER_DATABASE

CLUSTER_DATABASE_INSTANCES

CONTROL_FILES

DB_BLOCK_SIZE

DB_DOMAIN

DB_FILES

DB_NAME

DB_RECOVERY_FILE_DEST

DB_RECOVERY_FILE_DEST_SIZE

DB_UNIQUE_NAME

UNDO_MANAGEMENT

对于参数db_files的解释如下:

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

Real Application

Clusters

Multiple instances must have the same

value.

当前库是11gR2版本,默认值是200。

在其它版本中的情况关于maxdatafiles的情况如下: