Oracle db_files和maxdatafiles参数

db_files参数是一个“软限制”参数控制的物理操作系统文件,可以映射到oracle实例的最大数量。历史上(在oracle8i之前),您需要注意不要将 db_files设置得太高,否则您将遇到dbwr(数据库编写器)问题。

maxdatafiles参数是不同的“硬限制”参数。发出“创建数据库”命令时,为maxdatafiles指定的值存储在oracle控制文件中。认值32通常就足够了,但是在oracle8i之后,使用更大的值没有任何弊端。

实际上,许多具有大型数据库的oracle dba会将重要的表和索引分离到隔离的表空间和数据文件中,以赋予它们更多的控制权和详细的统计信息。

 

maxdatafiles是控制文件的一部分,并且不在init.ora文件中。在init.ora文件中,您将找到db_files(或您可以查询“ select * from v $ parameter where name ='db_files')

select value from v$parameter where name = 'db_files'

value
------------------------------
200


如果要从控制文件获取maxdatafiles,则可以查询

select records_total from v$controlfile_record_section where type = 'DATAFILE'

records_total
-------------
254

显示我将db_files设置为200(数据库将为我管理的最大文件为200)。 maxdatafiles设置为254(这意味着我可以将db_files设置为254)

 

修复maxdatafiles限制问题

实际上,通常在数据库维护期间,当数据库达到maxdatafiles限制时,就会发生ora-1118。以下是北卡罗来纳州最佳oracle dba之一“ rhubarb” stewart mcglaughlin的说明:


1.关闭数据库;备份数据库
2.启动数据库
3.以sysdba的身份从sqlplus键入:lter要跟踪的数据库备份控制文件
4.键入:立即关闭
5.转到操作系统,然后转到user_dump_dest目录
。6.查找最新的跟踪文件
。7.编辑跟踪文件,并将maxd​​atafiles更改为新值。您还需要删除开始行之前的所有行:startup nomount。请参见下面的示例文本(该示例适用于使用archivelog的数据库):

开机启动
创建控制文件重用数据库“ oracle” resetlogs存档日志
maxlogfiles 32 maxlogmembers 2
maxdatafiles 32
maxinstances 16
maxloghistory 1600
logfile
   group 1'd:\ orawin95 \ database \ log2orcl.ora'size 200k,
   group 2'd:\ orawin95 \ database \ log1orcl.ora'size 200k datafile'd:\ orawin95 \ database \ sys1orcl.ora','d:\ orawin95 \ database \ usr1orcl.ora','d:\ orawin95 \ database \ rbs1orcl.ora','d:\ orawin95 \ database \ tmp1orcl.ora';

#现在可以正常打开数据库了。alter database open resetlogs;

8.从sqlplus作为sysdba,运行步骤7中编辑的跟踪文件
。9.关闭数据库和备份数据库

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...