ORACLE在HP_UX下的系列问题处理(1)

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

问题描述:

每次我启动一个新的应用程序时(例如 Oracle 和 Perf),总是得到下面的错误信息:

crt0: Error couldn't open dld.sl errno: 000000023

同时syslog.log中也包含了这个错误信息:

File table overflow

该如何解决这个问题?

配置信息:CONFIGURATION

操作系统Operating System - HP-UX

版本Version - 11.0

子系统Subsystem - Oracle 8.0.5

解决方法:ESOLUTION

这两个问题与同一个问题有关,既dld.sl不能将任何文件装进内存。

从dld的人工页中看到:

dld.sl - 动态加载程序

说明:

/usr/lib/dld.sl 程序是一个动态加载程序。在使用共享程序库的程序中,/usr/lib/dld.sl在启动时被启动文件crt0.o自动调用。在/opt/langtools/lib/和

/usr/ccs/lib/目录中保存有的同样的crt0.o复制文件。该动态加载程序其实也是一个共享的程序库,只是它没有定义供用户使用的符号罢了。

文件表溢出错误说明系统文件表已经满了。系统已经达到表所能容纳的最大文件数。文件表时刻跟踪所有打开的文件。你可以通过提高内核程序参数的值来增加表容量 。

从nfile的人工页中看到:

nfile

说明:

nfile定义了能同时被打开的最大文件数,在任何时候它都处于系统开放状态。

使用SAM (System Administration Manager)去提高nfile的值。

注:这个方法应用于HP-UX 10.X和11.X。 N

1. 启动 SAM.

2. 选择'Kernel Configuration '子系统.

3. 选择'Configurable Parameters' 子系统.

4. 选择'maxusers'此内核程序参数.

5. 提高'maxusers'的值.

注:通常将'maxusers'的值增加两倍。增加此参数的值直到满足系统的需要。

6. 点击'OK'.

7. 证实已增加了nproc和 nfile的值。

8. 选择'Action'.

9. 点击'Create New Kernel', 同时按照提示信息向下执行。

警告:在你成功重建内核程序后,系统将会重新启动。你也可以选择推迟重新启动。在重新启动前必须关闭所有的应用程序,例如Oracle等。

假如你不能利用SAM去修改或建立一个新的内核程序,你也可以利用下面的命令行实现同样的结果:

注:此过程应用于HP-UX 10.X:

1. cd /stand/build

2. 创建一个新的系统文件:

/usr/lbin/sysadm/system_prep -v -s ./system

3. 通过增加maxusers参数值修改新系统文件:

maxusers

4. 构造一个新的内核程序:

mk_kernel -s ./system

5. 备份你的老内核程序和系统文件

mv /stand/vmunix /stand/vmunix.prev

mv /stand/system /stand/system.prev

6. 将新内核程序和系统文件移到正确位置:

mv /stand/build/vmunix_test /stand/vmunix

mv /stand/build/system /stand/system

7.重新启动系统:

shutdown -r -y 0 or reboot -r

注:此过程应用于HP-UX 11.X:

1. cd /stand/build

2. 创建一个新的系统文件:

/usr/lbin/sysadm/system_prep -v -s ./system

3.利用kmtune查看和修改内核程序参数:

A. 显示当前值:

kmtune -q maxuser

B. 递增 maxusers:

kmtune -s maxuser+

4. 建立一个新的内核程序:

mk_kernel -s ./system

5.利用kmupdate编排新内核程序的重定位和关闭后重新启动。

6. 重启动系统:

shutdown -r -y 0 or reboot -r

提供给你的信息:

maxusers

描述

maxusers 根据可能的系统资源访问系统的并发用户分配

为什么只增加maxusers的值? 增加maxusers将对其他同类型核心参数产生影响.

一些受影响的参数为nfile, nflocks, nproc, unlocable_mem 及bufpages。

.........following with all English text ....PROBLEM

I get the following error each time I start a new application

(for example Oracle and Perf):

crt0: Error couldn't open dld.sl errno: 000000023

syslog.log also contains this error:

File table overflow

How do I resolve these errors?

CONFIGURATION

Operating System - HP-UX

Version - 11.0

Subsystem - Oracle 8.0.5

RESOLUTION

The two errors are related to the same problem. dld.sl can't load

any more files into memory.

Per the dld man page:

dld.sl - dynamic loader

DESCRIPTION

The /usr/lib/dld.sl program is the dynamic loader. In programs

that use shared libraries, /usr/lib/dld.sl is automatically

invoked at startup time by the startup file crt0.o. Identical

copies of crt0.o are kept in both /opt/langtools/lib/ and

/usr/ccs/lib/ Directories. The dynamic loader is, itself, a

shared library, although it defines no symbols for use by user

programs.

The file table overflow error means that the system file table

is full. The system has reached the maximum amount of files that the

table can hold. This table keeps track of all open files. You can

increase this table by increasing the value of the 'nfile' kernel

parameter.

Per the nfile man page:

nfile

DESCRIPTION

nfile defines the maximum number of files that can be open

simultaneously, system-wide, at any given time.

Using SAM (System Administration Manager) to increase the nfile

value:

Note: This information applies to HP-UX 10.X and 11.X.

1. Start SAM.

2. Select the 'Kernel Configuration' subsystem.

3. Select the 'Configurable Parameters' subsystem.

4. Select the 'maxusers' kernel parameter.

5. Increase the 'maxusers' value.

Note: You usually double the 'maxusers' value. Increase this

value to meet your system needs.

6. Click 'OK'.

7. Verify that the nproc and nfile values were increased.

8. Select 'Action'.

9. Click 'Create New Kernel', and follow the instrUCtions.

Warning: The system will reboot after you successfully rebuild

the kernel. You also have the option to defer the reboot.

Make sure that you stop all applications, such as Oracle,

that need to be stopped before the system reboots.

If you cannot use SAM to modify and build a new kernel, you can use

the command line to accomplish the same results:

Note: This procedure applies to HP-UX 10.X:

1. cd /stand/build

2. Create a new system file:

/usr/lbin/sysadm/system_prep -v -s ./system

3. Modify the new system file by increasing the maxusers parameter:

maxusers

4. Build a new kernel:

mk_kernel -s ./system

5. Backup your old kernel and system files:

mv /stand/vmunix /stand/vmunix.prev

mv /stand/system /stand/system.prev

6. Move the new kernel and system files to the proper place:

mv /stand/build/vmunix_test /stand/vmunix

mv /stand/build/system /stand/system

7. Reboot the system:

shutdown -r -y 0 or reboot -r

Note: This procedure applies to HP-UX 11.X:

1. cd /stand/build

2. Create a new system file:

/usr/lbin/sysadm/system_prep -v -s ./system

3. Use kmtune to view and modify kernel parameter:

A. Display the current value:

kmtune -q maxuser

B. Increment maxusers:

kmtune -s maxuser+

4. Build a new kernel:

mk_kernel -s ./system

5. Use kmupdate to schedule the re-location and shutdown-reboot

of the new kernel.

6.

right"(出处:清风软件下载学院)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航