HP Unix中的dba MLOCK
作者 :OoNiceDream【转载时请务必以超链接形式标明文章原始出处和作者信息】
链接:http://www.dbaroad.me/archives/2009/07/hp_unix_dba_mlock.html
链接:http://www.dbaroad.me/archives/2009/07/hp_unix_dba_mlock.html
最近在HP平台上遇到两次跟dba MLOCK权限相关的错误:
1、在恢复测试时,启动报错:
SQL> startup nomount ORA-27125: unable to create shared memory segment HP-UX Error: 1: Not owner SQL> exit Disconnected |
原因:
In order for Oracle to lock the SGA into memory, the software owner must have locking privileges at the OS level. The setprivgrp() system call associates a kernel capability with a group ID. This allows subletting of superuser-like privileges to members of a particular group or groups. |
解决办法:
setprivgrp dba MLOCK 或者 添加 /etc/privgroup 内容为: #cat privgroup dba MLOCK |
参考文档:1067569.6、167252.1
2、在udump及bdump目录下产生大量的Trace文件,报错信息为:
Ioctl ASYNC_CONFIG error, errno = 1 |
原因:
在HP平台上,Oracle会自动使用AIO,但当数据文件是文件系统时,Oracle是无法使用AIO的。裸设备不受这一影响:
Oracle always opens /dev/async successfully only if the /dev/async HP-UX device driver is properly configured for read and write. This is irrespective of whether the DISK_ASYNC_IO parm is set to TRUE. it should be noted that on HP-UX, aio is *only* possible on a raw device. Put in another way, aio *cannot* be used on a filesystem. |
而报错的数据库采用的是文件系统,是无法使用AIO的。要避免报错,可以采用以下办法:
1、From 9.2 until 10.1 version, to inactivate ASYNCH_IO with Oracle , workaround is: chown bin:bin /dev/async chmod 660 /dev/async Note: This may impact other applications that wish to use asynch I/O 2、Grant dba group the MLOCK priv to avoid the Ioctl ASYNC_CONFIG trace file errors: (1) # /usr/sbin/setprivgrp dba MLOCK (2) # vi /etc/privgroup This should contain dba MLOCK RTSCHED RTPRIO (3) # cat /etc/privgroup dba MLOCK RTSCHED RTPRIO 3、Since the Oracle 10.2 version, these settings stop the tracing: disk_asynch_io=FALSE filesystemio_options=none Since the Oracle 10.2 version, these settings stop the tracing: disk_asynch_io=FALSE filesystemio_options=none |
参考文档:139272.1、302801.1
— The End —
关键字: Unix | Shell


站内搜索