HP-UX Ioctl ASYNC_CONFIG error, errno = 1
June 18th, 2010
2 comments
数据库udump目录下包含了29592个trace文件, 占用10GB多的空间:
#ls | wc -l29592#du -sk14390876 .
trace文件内容如下:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSystem name: HP-UXRelease: B.11.31Version: UMachine: ia64Redo thread mounted by this instance: 1Oracle process number: 0Ioctl ASYNC_CONFIG error, errno = 1
这个问题来源于启用了async io的hp unix系统, dba组没有mlock权限造成的;
查看/etc/privgroup文件, 发现第一行有一个注释, 进一步查看当前系统没有使用/dev/async, 同时dba组也没有MLOCK权限;
#cat /etc/privgroup# ORACLE async i/odba MLOCK RTPRIO RTSCHED#getprivgrp dbadba:#fuser /dev/async/dev/async:
问题其实恰恰出现在/etc/privgroup中的注释行, 在去掉注释后, /dev/async启用, udump下不再产生日志.
#vi /etc/privgroup“/etc/privgroup” 2 lines, 44 charactersdba MLOCK RTSCHED RTPRIO#setprivgrp -f /etc/privgroup#getprivgrp dbadba: RTPRIO MLOCK RTSCHED#fuser /dev/async/dev/async: 3613o 3622o 3624o 3583o 3585o 3588o
总结: 有些系统配置文件不要轻易加注释.
参考metalink:
How to Disable Asynch_io on HP to Avoid Ioctl Async_config Error Errno = 1 [ID 302801.1]
http://www.oracleblog.cn/working-case/how-to-open-async-io-on-hpux/
http://www.eygle.com/archives/2009/11/hp-ux_async_config.html