【oracle】nfile参数太小导致数据库down掉

Posted on 2012-09-19 11:19  雅飞士  阅读(285)  评论(0编辑  收藏  举报

前几天有个数据库忽然出现问题,数据文件访问不了,alert日志也查看不了。后来只能重启机器。

重启后恢复正常,主机那边的人通过查看主机日志,问题定位到nfile这个参数,之前设置的太小,导致系统无法再打开文件。

重新设置调大后,一直没啥问题。

然后去了解这个参数,它指的是系统在运行状态下能够同时打开的文件数量,如果一个文件同时被10个进程打开,那也算10个。

hpux 11.31 中对它是这样描述的,摘录了部分内容:

The default value for nfile is 0 (zero).  The value of zero means that
the system limit usually enforced by nfile will be disabled (that is,
the number of system-wide open files is limited only by available
memory).

This tunable is now private and deprecated.  It should no longer be used.

The recommended way to regulate the maximum number
of open files on the system is to set the values of maxfiles_lim and
nproc appropriately; the theoretical system maximum can be assumed to
be maxfiles_lim * nproc.

Who Is Expected to Change This Tunable?
   This tunable is not expected to be changed.

This tunable is dynamic; tuning will take effect immediately on the running system.

The kernel parameter values shown in this section are recommended values only.
For production database systems, Oracle recommends that you tune these values to optimize the performance of the system.
See your operating system documentation for more information about tuning kernel parameters.

根据描述,在这个版本的系统中,hp已经废弃了这个参数。建议保持默认值为0,所以,内存有多大,nfile这个参数就有多大。

如果要设置,oracle给的建议是, nfile=15*nproc+2048 ,这又牵扯到 nproc参数。

hpux 11.31 中建议 nproc 根据处理器个数设置, 建议值是一个处理器给1000, 那么30个处理器的nproc就是:

nproc=1000*30,则 nfile 的值就是  nfile=15*(1000*30)+2048 。

具体的值根据实际情况可以调整。

--EOF

原文地址:http://blog.yafeishi.net/2012/09/hpux-11-31-nfile-nproc.html

Copyright © 2024 雅飞士
Powered by .NET 9.0 on Kubernetes