柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!
全部博文(1669)
分类: Oracle
2012-02-07 09:39:42
一.控制文件中的 MAXDATAFILES 参数
有关Oracle 的控制文件说明,参考我之前的Blog:
http://blog.csdn.net/tianlesoftware/article/details/4974440
在Oracle 的控制文件中有一个参数:MAXDATAFILES,其用来控制数据库最大支持的datafile 的个数。在使用DBCA 创建实例时可以修改这个参数。
也可以通过dump 控制文件来查看这个参数:
SQL> oradebug setmypid
Statement processed.
SQL> alter database backup controlfileto trace;
Database altered.
SQL> oradebug tracefile_name
d:\app\administrator\diag\rdbms\newccs\newccs\trace\newccs_ora_6960.trc
trace 里的内容:
CREATE CONTROLFILE REUSE DATABASE"NEWCCS" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY292
--这里的100 是控制文件中的默认值
二.DB_FILES 参数
Oracle 11gR2 上对这个参数的说明:
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 numberof database files that can be opened for this database. The maximum valid valueis the maximum number of files, subject to operating system constraint, thatwill ever be specified for the database, including files to be addedby ADD DATAFILE statements.
--DB_FILES 参数指定数据库能打开的最大的datafiles 的数量,这个最大值也会受操作系统的限制。
If you increasethe value of DB_FILES, then you must shut down and restart all instancesaccessing the database before the new value can take effect. If you have aprimary and standby database, then they should have the same value for thisparameter.
--如果我们增加DB_FILES 的值,那么必须重启instance,才能让修改生效。 如果是DG 环境,也需要保证主备库参数一致。
在Oracle 11gR2 中,这个参数的默认值是200,比控制文件的默认值大。
三.控制文件中的 MAXDATAFILES 和 DB_FILES 关系
MOS 文档:kccrsz: expanded controlfile message in"alert.log" [ID 101020.1]
Problem Description
-------------------
The "alert.log" file shows thefollowing message:
kccrsz: expanded controlfile section 4 from 17 to 18 records
number of logical blocks in section remains at 2
Completed: alter tablespace tb1 add datafile
Solution Description
--------------------
Starting inOracle8 the controlfile is automatically expanded. A new datafile is addedbeyond the maxdatafiles limited specified in the control file.
--从Oracle 8 开始,控制文件是自动扩展的,当新添加的datafile时,datafile的个数超过了控制空maxdatafiles 参数的限制时,maxdatafiles参数值会自动的增加。
--这个验证可以通过dump 控制文件来查看
This alsohappens if new records are added to the "log_history" section of thecontrol files and there are no entries that could be replaced.
--控制文件的自动扩展也发生在的section 不够时。
The routine thatperforms the expansion writes this message to the alert log. The messagesspecifies the section that was expanded and the amount of the expansion. Pleasenote that this message cannot be turned off.
--执行扩展操作时会往alert log 里写一些log 信息,就是上面部分的内容,这部分内容列出了扩展的section和扩展的数量,这个显示信息不能被关闭。
The automatic expansion only occurs up to the limit of the "init.ora" parameter "DB_FILES".
--注意,控制文件中的自控扩展的datafile 的最大值就是我们DB_FILES 参数的值。 所以这也是我们之前看的,DB_FILES 参数值比控制文件中默认值大的原因。
总结一下:
数据库中真正的最大的datafiles 的个数由DB_FILES 参数决定,虽然控制文件中也有限制,但是这个控制文件中的限制参数会自动的增加,直到到达DB_FILES的值。