HP Unix中的dba MLOCK

最近在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

你可能感兴趣的:(unix)