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