HPUX开异步IO
来源:互联网 发布:js join方法两个参数 编辑:程序博客网 时间:2024/05/16 06:26
同事来说在$ORACLE_HOME/rdbms/log下有大量产生trace文件,trace的文件内容为:
/oracle/app/oracle/product/9.2.0/rdbms/log/jxadt_ora_100.trc
Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production
ORACLE_HOME = /oracle/app/oracle/product/9.2.0
System name: HP-UX
Node name: jx_db03
Release: B.11.11
Version: U
Machine: 9000/800
Instance name: jxadt
Redo thread mounted by this instance: 0 <none>
Oracle process number: 0
100
Ioctl ASYNC_CONFIG error, errno = 1
Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production
ORACLE_HOME = /oracle/app/oracle/product/9.2.0
System name: HP-UX
Node name: jx_db03
Release: B.11.11
Version: U
Machine: 9000/800
Instance name: jxadt
Redo thread mounted by this instance: 0 <none>
Oracle process number: 0
100
Ioctl ASYNC_CONFIG error, errno = 1
其实这个问题是由于开异步IO的时候,没有给系统的oracle用户MLOCK权限,当主机已经开启的异步IO的参数,但是没给MLOCK权限,就会报这个错。
我们在HPUX上开异步IO正确做法应该为:
前提:hpux上使用裸设备可以打开异步IO来提高IO性能,如果使用文件系统,就不能使用异步IO,但是可以通过设置多个DBWR进程来提高IO
1、Hp-ux使用Aio的补丁要求
a、Hp-ux 11.00的补丁要求为:
PHKL_22126: s700_800 VM,async,hyperfabric
b、HP-UX 11i的补丁要求为:
PHKL_25212 vm preemption point, mlock/async_io
PHKL_25506 asyncio driver patch
2. 创建aio字符设备
% /sbin/mknod /dev/async c 101 0x0
% chown oracle:dba /dev/async
% chmod 660 /dev/async
3. 用sam调整内核参数
-> Kernel Configuration
-> Drivers
-> 选择'asyncdsk'
-> Actions>Add Driver to Kernel. (此时pending state由out变为in状态)
-> Kernel Configuration
-> Configurable Parameters
-> max_async_ports
设置为初始化文件中的'processes'值+oracle后台进程数 (根据v$bgprocess,单实例后台进程数最多为78个)
4. 用sam设置aio_max_ops
-> Kernel Configuration
-> Configurable Parameters
-> aio_max_ops
-> 可设置为默认值2048
5. 设置oracle用户必须有MLOCK权限。
a. 设定dba组的MLOCK的权限
roolt#setprivgrp dba MLOCK
b. 避免重启后失效,需要设置:
vi /etc/privgroup 添加如下行:
dba MLOCK
如果没有设置MLOCK权限,在$ORACLE_HOME/rdbms/log/中有大量含Ioctl ASYNC_CONFIG error, errno = 1的trace文件。
6. 其他设置。在hpux中,大部分的进程会遵循一个共享时间表的策略(time-sharing scheduling policy),在业务的忙时,如果根据共享时间表的老化策略,会重新安排oracle进程的优先级,造成latch free,从而影响oracle的性能。所以,我们应该设置SCHED_NOAGE参数,使得oracle进程不会具有执行的优先级。
a. root#setprivgrp dba RTSCHED RTPRIO
b. 同时为了重启后参数失效,在/etc/privgroup文件中添加:
dba RTSCHED RTPRIO
结合上面的MLOCK,/etc/privgroup文件中应该为:
dba RTSCHED RTPRIO MLOCK
c. 数据库中:alter system set hpux_sched_noage=178 scope=spfile;
1、Hp-ux使用Aio的补丁要求
a、Hp-ux 11.00的补丁要求为:
PHKL_22126: s700_800 VM,async,hyperfabric
b、HP-UX 11i的补丁要求为:
PHKL_25212 vm preemption point, mlock/async_io
PHKL_25506 asyncio driver patch
2. 创建aio字符设备
% /sbin/mknod /dev/async c 101 0x0
% chown oracle:dba /dev/async
% chmod 660 /dev/async
3. 用sam调整内核参数
-> Kernel Configuration
-> Drivers
-> 选择'asyncdsk'
-> Actions>Add Driver to Kernel. (此时pending state由out变为in状态)
-> Kernel Configuration
-> Configurable Parameters
-> max_async_ports
设置为初始化文件中的'processes'值+oracle后台进程数 (根据v$bgprocess,单实例后台进程数最多为78个)
4. 用sam设置aio_max_ops
-> Kernel Configuration
-> Configurable Parameters
-> aio_max_ops
-> 可设置为默认值2048
5. 设置oracle用户必须有MLOCK权限。
a. 设定dba组的MLOCK的权限
roolt#setprivgrp dba MLOCK
b. 避免重启后失效,需要设置:
vi /etc/privgroup 添加如下行:
dba MLOCK
如果没有设置MLOCK权限,在$ORACLE_HOME/rdbms/log/中有大量含Ioctl ASYNC_CONFIG error, errno = 1的trace文件。
6. 其他设置。在hpux中,大部分的进程会遵循一个共享时间表的策略(time-sharing scheduling policy),在业务的忙时,如果根据共享时间表的老化策略,会重新安排oracle进程的优先级,造成latch free,从而影响oracle的性能。所以,我们应该设置SCHED_NOAGE参数,使得oracle进程不会具有执行的优先级。
a. root#setprivgrp dba RTSCHED RTPRIO
b. 同时为了重启后参数失效,在/etc/privgroup文件中添加:
dba RTSCHED RTPRIO
结合上面的MLOCK,/etc/privgroup文件中应该为:
dba RTSCHED RTPRIO MLOCK
c. 数据库中:alter system set hpux_sched_noage=178 scope=spfile;
参考文档:(metalink)Doc ID:139272.1和302801.1
from:http://www.oracleblog.org/working-case/how-to-open-async-io-on-hpux/
- HPUX开异步IO
- 异步IO
- 异步IO
- 异步IO
- 异步IO
- 异步io
- 异步IO
- 异步 IO
- 异步IO
- 异步IO
- 异步IO
- 异步io
- 异步IO
- 异步IO
- 异步IO
- 异步IO
- 异步IO
- 同步IO,异步IO
- [人物故事]这是一个悲伤的故事--王耀武
- How to enable Oracle listener tracing
- Oracle APEX 3.2 安装
- streams_sqmax
- 点击按钮弹出下载框
- HPUX开异步IO
- HP-UX oracle RAC 双机实践
- Dll与lib
- 从今天开始写博客吧
- Qt中QFtp获取带有中文的文件名称出现乱码的解决方法
- RAC on HP-UX 实施建议
- PHP内置函数网络超时设置
- HP_unix上RAC部署的建议
- HP-UX下Oracle10G的安装