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.关闭数据库和备份数据库

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值