MAXDATAFILES vs DB_FILES

本文标题:MAXDATAFILES vs DB_FILES【本站如从外站转载,会注明出处】
本文链接:http://www.validba.net/2009/11/maxdatafiles-vs-db_files/

创建数据库或创建控制文件时,MAXDATAFILES在控制文件中初始化了数据库中最初的数据文件的个数,随着数据库的扩展,,数据文件的个数超过MAXDATAFILES时,控制文件会自动扩展这个参数.默认值为100.

SQL> select records_total,records_used from v$controlfile_record_section where type='DATAFILE';

RECORDS_TOTAL RECORDS_USED
------------- ------------
          100           13

DA_FILES是一个初始化参数,定义了数据库中可以创建的最大文件数.如果创建的文件个数超过了DB_FILES的大小,Oracle会抛出ORA-59错误.

SQL> show parameter db_files

NAME
------------------------------------
TYPE
----------------------------------------------------------------
VALUE
------------------------------
db_files
integer
12
SQL> select count(*) from v$datafile;

  COUNT(*)
----------
        12

SQL> alter tablespace bbed add datafile size 10M autoextend off;
alter tablespace bbed add datafile size 10M autoextend off
*
ERROR at line 1:
ORA-00059: maximum number of DB_FILES exceeded

DB_FILES参数的大小其实也决定了SGA中用来保存数据文件handle的内存大小, 如果DB_FILES非常大,自然会造成SGA中file handel 空间的浪费;如果DB_FIELS 太小,会造成数据库的扩展.DB_FILES不支持动态更新,修改DB_FILES必须重新启动数据库. 所以在数据库创建的时候必须充分考虑DB_FILES的分配.

CopyRight Validba'S Home 版权所有.本站为个人学习之用,评论时请遵守本国法律

Relative Posts

Tags:

Leave a Reply