Oracle 故障排除ORA-01116:打开错误…错误24打开的文件太多

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

错误24经常出现在提交并发请求,如日常商务智能(DBI)初始或增量加载时。然而在执行各种操作时,随时都可能出错24。在这份说明中,我们假设问题是可重复的,以提交DBI请求集为例。

这问题只有两个已知原因。本说明的目的是提供一套清晰的说明,以确定问题的原因是什么,以便采取适当行动。

这是Oracle遇到的一个操作系统(OS)错误,Oracle会将其报告给应用/用户。

故障排除步骤

1.确保你的数据库服务器上有UNIX工具lsof的副本。如果没有,下面的信息提供了如何获得副本的详细信息。

lsof的最新分配是通过从主机lsof.itap.purdue.edu匿名FTP。你会发现在酒吧/工具/ UNIX/ lsof的目录中lsof的分布。

你也可以使用这个网址:

ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof

LSOF在别处也有镜像。当您访问lsof.itap.purdue.edu并改变其pub/tools/unix/lsof的目录,你会得到一些镜像站点的列表。

这个pub/tools/unix/lsof的目录下,在其镜像文件中包含更加完整的列表。谨慎使用镜像不是所有的镜像都拥有最新版本的lsof

一些预编译的可执行文件lsof可在lsof.itap.pur-due.edu找到,但不支持使用最好能从源代码构建自己的文件。如果你觉得必须使用一个预编译的可执行文件,请阅读在pub/tools/unix/lsof/二进制子目录中的README文件中以及分配的00*文件中出现的注意事项。

2.以拥有Oracle进程的telnet/ ssh身份连接到RDBMS服务器。


3.
UNIX提示符处发出以下命令

whoami > /tmp/orainfo.txt
ulimit -n >> /tmp/orainfo.txt
ulimit -Hn >> /tmp/orainfo.txt
ps -ef | grep -i oracle >> /tmp/orainfo.txt

4.发出以下命令,以root身份连接

su –

5.  发出以下命令 ( root身份)

whoami > /tmp/rootinfo.txt
ulimit -n >> /tmp/rootinfo.txt
ulimit -Hn >> /tmp/rootinfo.txt

6.不要离开Telnet / SSH会话。返回到电子商务套件(或应用程序),并重现该错误。

如果在提交电子商务套件的要求设置,如DBI负载过程中出现问题,你会得到一个形式错误对话框,包含错误消息。不要单击确定按钮确认此错误对话,直到你完成下面的步骤。

7.一旦错误发生24,返回到Telnet / SSH会话,而且仍应该以root身份登录并发出以下命令。

lsof | grep -i LX40030.NLB | wc -l > /tmp/lsofinfo.txt
lsof | wc -l >> /tmp/lsofinfo.txt
lsof >> /tmp/lsofinfo.txt

8.查看创建的/tmp/lsofinfo.txt文件。

应该包含两个数字,随后打开实际文件列表。如果这两个数字都很大,幅度顺序相同,通常在~10 ^ 310 ^5之间(即在千位),那么你会遇到Bug 5257698 TOO MANY“LX40030.NLB” FILES OPEN AFTER UPGRADE TO 10GR2

注意:上述错误/补丁表明,问题出现在升级到10G R2后。新安装若是使用10.2.0.210.2.0.3版本也可能会出现这些问题。

如果Bug 5257698已在lsof输出的许多LX40030.NLB文件中得到确认,您将需要应用Patch 5257698 TOO MANY“LX40030.NLB” FILES OPEN AFTER UPGRADE TO 10GR2

重要提示:如果您遇到这个错误,用Patch 5257698不能修复损坏的LX40030.NLB文件,就有必要重新生成NLS/data/9idata目录,记录在Note 431529.1

patch 5257698应用于EBS系统

9.检查/tmp/orainfo.txt/tmp/rootinfo.txt。确认WHOAMI在每种情况下都能返回到预期的用户名。

10.检查两个/tmp/orainfo.txt/tmp/rootinfo.txt使用ulimit命令的输出:

如果限制(即ulimit-Hn的输出)与lsof | WC-1(即/ tmp / lsofinfo.txt的第二个条目)的输出是同一类尺寸,那你就需要增加硬限制。

如果限制(即的ulimitn输出)与lsof | wc –l(即/tmp/lsofinfo.txt的第二个条目)的输出是同一类尺寸,那你就需要增加软限制

作为指导,对于电子业务环境中文件描述符的数目,推荐的硬性限制为655362 ^ 16),而在一些电子业务进行中,这一数目可能会更大,但或多或少都应该是这个数量级,即64K – 512K2 ^ 16 – 2 ^19

软限制要求会根据UNIXLinux的不同特点而变化。但通常情况下是在硬限制和硬限制本身1/16之间。作为指导,查看适合你的特定平台的EBS安装和升级说明。

如果从Note 250262.1输出的健康检查诊断显示为 “190 ulimits OKFAILED StackTooSmall”,那就是你的上限太低。

按照适用于你平台的Oracle数据库10g安装指南中说明的,ulimit(栈)应设置为最小值,例如在Solaris上最小值32768

如果你不确定正确的值,或是不确定如何设置值,就联系DBAO / S文件或O / S供应商。

改变文件描述符软硬限制的步骤会根据UNIXLinux的不同特点,在两者之间变化。

如果上述有任何值是不对的,你的O / S供应商可能会提供给你一个补丁来进行纠正。

大多数情况下,64K以上的任何硬NOFILE值都可以解决这个问题

一旦文件描述符的数量增加,请反弹(重启)服务器,并重复步骤2-4,以验证更改已经生效。

加入我们的Oracle BI Publisher的社区,与其他Oracle BI Publisher的专家进一步讨论,向更多的同行学习。您可以访问Oracle BI Publisher Community ,提供My Oracle SupportMOS)的登录凭据。

有关BI Publisher的产品文档,公告,热点话题,社区,博客和培训的更多详细信息,请查看Oracle BI Publisher (BIP) Product Information Center (PIC) (Doc ID 1338762.1).

关注刘相兵的新浪微博

扫码加入微信Oracle小密圈,了解Oracle最新技术下载分享资源

Speak Your Mind

沪公网安备 31010802001379号

TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569