服务器 频道

ORACLE在HP_UX下的系列问题处理之一

  【IT168 服务器学院】 问题描述:
  每次我启动一个新的应用程序时(例如 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。
  
0
相关文章