- 浏览: 978276 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
孤星119:
好熟悉的数据库字段啊, 上家公司做的项目每天都跟这些字段打招呼 ...
Oracle exp compress参数引起的空间浪费 -
itspace:
quxiaoyong 写道遇到个问题,网上一搜,全他妈这篇文章 ...
数据库连接错误ORA-28547 -
quxiaoyong:
遇到个问题,网上一搜,全他妈这篇文章。你转来转去的有意思吗?
数据库连接错误ORA-28547 -
hctech:
关于version count过高的问题,不知博主是否看过ey ...
某客户数据库性能诊断报告 -
itspace:
invalid 写道写的不错,我根据这个来安装,有点理解错误了 ...
AIX 配置vncserver
PURPOSE
-------
The purpose of this document is to discuss the implementation of
asynchronous i/o (aio) on HP-UX, specifically to enable aio for the Oracle
RDBMS Server.
SCOPE & APPLICATION
-------------------
This note is intended for DBAs and Support Personnel.
1.0 Introduction
================
On HP-UX, when the Oracle datafiles reside on a filesystem, then the DBWR
process(es) make synchronous writes to these datafiles. This means that each
write must return with a 'succesful completion' before the next write is
issued. This serial operation can lead to a i/o bottleneck. There are two ways
to counteract this:
a. configure multiple DBWR processes
b. use asynchronous i/o
Before deciding on one of these two options, 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.
Multiple DBWRs can be used on a filesystem.
It is not recommended to use both multiple DBWRs and aio.
2.0 Configuring asynchronous i/o
================================
aio requires configuration of both Oracle and HP-UX
2.1 HP-UX Configuration
-----------------------
a. create the /dev/async character device
% /sbin/mknod /dev/async c 101 0x0
% chown oracle:dba /dev/async
% chmod 660 /dev/async
If the device does not exist, then ENODEV (Err #19) is returned when the device
is accessed:
Async driver not configured : errno=19
If the permissions are incorrect, then EACCES (Err #13) is returned:
Async driver not configured : errno=13
b. configure the async driver in the kernel
Using SAM
-> Kernel Configuration
-> Drivers
-> the driver is called 'asyncdsk'
Generate new kernel
Reboot
c. set max_async_ports
Using SAM
-> Kernel Configuration
-> Configurable Parameters
-> max_async_ports
max_async_ports limits the maximum number of processes that can concurrently
use /dev/async. Set this parameter to the sum of
'processes' from init.ora + number of background processes
The background processes started at instance startup will open /dev/async
twice.
If max_async_ports is reached, subsequent processes will use synchronous i/o.
d. set aio_max_ops
Using SAM
-> Kernel Configuration
-> Configurable Parameters
-> aio_max_ops
aio_max_ops limits the maximum number of asynchronous i/o operations that
can be queued at any time. Set this parameter to the default value (2048),
and monitor over time (use glance).
e. if HP-UX patch PHKL_22126 (or one that supersedes it) is installed, then
see Section 3.0
2.2 Oracle Configuration
------------------------
The following init.ora parameters are required.
a. pre 7.3.0
no init.ora parameters required
b. 7.3.X
use_async_io = TRUE
c. 8.X
disk_asynch_io = TRUE
3.0 Implications of HP-UX Patch PHKL_22126
==========================================
This patch is called:
PHKL_22126: s700_800 11.00 VM,async,hyperfabric
The HP-UX patch description says:
The effective user ID of the process calling async driver,
typically called by a process for database applications such
as Oracle, must be a superuser or the user must
be a member of a group that has the MLOCK privilege.
In essence, aio will not work for Oracle, unless the dba group has the MLOCK
privilege.
To check if a group has the MLOCK privilege, execute:
% /usr/bin/getprivgrp <group-name>
If the dba group is not listed, then set it:
% /usr/sbin/setprivgrp <group-name> MLOCK
Note, the next reboot will clear this privilege. To automate this at startup,
create /etc/privgroup with the entry
dba MLOCK
This can be tested with
% /usr/sbin/setprivgrp -f /etc/privgroup
See 'man 1m setprivgrp' for more information.
If the MLOCK privilege is not granted to the dba group, then instance startup
will exhibit the following:
a. prior to 8.1.7, each background and shadow process will dump a trace file
with the following:
Ioctl ASYNC_CONFIG error, errno = 1
errno 1 is EPERM (Not super-user).
Such trace files may be found in
$ORACLE_HOME/rdbms/log
background_dump_dest
user_dump_dest
Additionally, a tusc of instance startup will show the following for
each background process:
[16044] open("/dev/async", O_RDWR, 01760) ................ = 14
...
[16044] ioctl(14, 0x80106101, 0x7f7f51b0) ................ ERR#1 EPERM
Similar output will be given for a tusc of a shadow process.
The instance does start, but i/o is synchronous
b. in 8.1.7, the instance will not start, and will error with:
SVRMGR> startup
ORA-00445: background process "PMON" did not start after 120 seconds
See Note:133007.1 for the alert on this.
c. in 9.0.1, the behaviour is similar to pre-8.1.7, in that trace files with
the following are dumped:
Ioctl ASYNC_CONFIG error, errno = 1
Additionally, the following is also seen:
Ioctl ASYNC_ADDSEG error, errno = 1
The instance does start, but i/o is synchronous.
4.0 Checking that Asynchronous i/o is being used
================================================
Async i/o is being used if both the following are true:
a. /dev/async is open by DBWR
b. the relevant init.ora partameter is set (see Section 2.2)
c. the datafiles are on raw devices
To check if /dev/async is open by DBWR, do one of:
i. % fuser /dev/async
ii. % lsof -p <dbwr pid>
lsof can be downloaded from ftp://vic.cc.purdue.edu/pub/tools/unix/lsof
iii. use glance/gpm to check files opened by DBWR
NB - Oracle server processes (background and foreground) will attempt to open
/dev/async if the async driver is enabled in the HP-UX kernel, regardless
of init.ora settings.
If (a), (b)and (c) are true, and i/o is still perceived to be synchronous, attach
to DBWR with tusc, and check that write calls to /dev/async are not returning an
error. The file descriptor for /dev/async will be needed, which can be retrieved
using lsof.
5.0 The fs_async kernel parameter
=================================
The kernel parameter fs_async can be set to allow asynchronous writes to file
systems. However, write calls can return without the data being physically
written to disk (the write sits in the UNIX buffer cache). The data in question
is file-system metadata such as free space lists, blocks and inodes.
A system crash would potentially lose this data, and leave the filesystem in an
inconsistent state, causing database corruption.
Oracle still opens files with the O_DSYNC flag (see 'tusc' snipet
below), which insists that writes are physically written:
open("/oracle/datafiles/system01.dbf", O_RDWR|O_LARGEFILE|O_DSYNC, 0) = 19
In summary, fs_async is ignored for datafiles(due to open() with O_DSYNC).
However, filesystem metadata may be lost, potentially causing datafile
corruption.
Oracle does not recommend setting fs_async to '1'.
Settings:
fs_async=0 Do not use async writes to file systems
fs_async=1 Do async writes to file systems
发表评论
-
[zt]MC/ServiceGuard命令详解
2011-06-20 21:02 1635挂载卷组 命令: vgchange –a n vgxx; ... -
[zt]HP小机常见故障及解决办法
2011-06-20 20:51 1715检查服务器进程是否正常; 主要通过cmviewcl命令查看pk ... -
记一次HP-UX存储修复
2011-05-10 10:54 2122昨天客户数据库由于本地硬盘出现故障,导致交换空间不足,进而导致 ... -
hp-ux ruby调用oci错误之解决过程
2010-12-17 17:59 1141今天在hp-ux 11.11 pa平台安装ruby和oci8, ... -
hp-ux gcc安装之core dump
2010-12-17 17:51 1824今天又在客户现场做dbra项目,安装平台是hp-ux pa 1 ... -
serviceguard的一些命令
2010-11-11 09:12 1043查看MC配置命令:cmviewconf 查看MC当前状态:cm ... -
HP-UX IA 11.31 Oracle 9.2安装内核参数修改
2010-10-20 10:59 1877NPROC 4096 KSI_ALLOC_MAX (NPROC ... -
HP-UX IA 11.31若干基础包安装
2010-09-27 10:14 4899因项目需要,HP-UX IA 11.31若干基础包安装,仅作记 ... -
HP-UX 安装tusc
2010-06-13 16:02 2984在HP-UX环境下,我们可以用tusc跟踪进程的调度情况。 1 ... -
HP-UX修改文件系统大文件属性
2010-05-26 17:08 2420HP-UX版本为 引用# uname -a HP-UX rx2 ... -
HP-UX增加交换空间
2010-05-12 15:59 1983HP-UX环境增加交换空间步骤如下 1、查看当前交换空间使用情 ... -
HP-UX使用swlist查看patch
2010-04-22 14:26 7010因项目需要,最近一直在折腾HP-UX小机,在这里记录一下,以防 ... -
HP-UX搭建NFS
2010-04-21 15:44 4960因项目需要,简要记录NFS搭建过程。 NFS服务端版本为 引用 ... -
HP-UX查看集群命令cmviewcl
2010-02-09 18:29 6583以下仅作记录 引用# cmviewcl -v CLUSTER ... -
What is Swap Space(Pseudo-Swap)?
2010-02-03 16:46 1363Pseudo-swap space allows for t ... -
Kernel Parameter Setting
2010-01-29 11:59 1397Unix kernel parameters can be t ... -
HP-UX crontab问题处理一则
2009-08-19 12:02 28301、Oracle用户没有权限执行crontab 引用$ cro ... -
SP2-0734
2009-07-23 17:09 4510今天在数据库巡检过程中,碰到了SP2-0734,怀疑是环境变量 ...
相关推荐
在本文中,我们将深入探讨异步Socket I/O模型的几种常见实现方式,包括选择(select)、异步选择(asynchronous select)、事件选择(poll)、重叠I/O(overlapped I/O)以及完成端口(completion ports)。...
在HP-UX操作系统中,配置异步IO(Asynchronous I/O,简称Aio)是为了提升系统性能,特别是在处理大量I/O操作的场景下,如运行Oracle、Sybase等数据库时。传统的同步IO模式会在每次I/O操作完成后等待确认,这在高负载...
- Mode 0 & 1: General-purpose I/O - Mode 2: External interrupt (EINT0) - Mode 3: External Peripheral Interface (XP) - Mode 4: Universal Asynchronous Receiver/Transmitter (URXD3) - Mode 5: Card ...
Spring入门指南弹簧导轨 异步方法: : 消费休息: : 休息服务: ... //spring.io/guides/gs/reactor-thumbnailer/ 非弹簧指南:async-rest-service: http : //www.jayway.com/2014/09/09/asynchronous-spring-service/
根据给定的文件信息,以下是对“Oracle 10g RAC 在 HP-UX v3+MC ServiceGuard 环境的安装”所涉及的知识点的详细解析: ### 一、系统与软件版本 #### 1. 操作系统 - **HP-UX 11.31**:这是惠普公司基于Unix的商业...
- AIO(Asynchronous I/O)在Java和POSIX系统中提供,允许并发的异步I/O操作,提高系统性能。 理解这些概念和机制对于理解和编写高效、可靠的软件至关重要,特别是那些需要处理大量I/O操作的应用,如服务器、...
[FLIP-12: Asynchronous I/O Design and Implementation]。 其设计的核心是对原有的每条处理后的消息发送至下游operator的执行流程进行改进。其核心实现是引入了一个AsyncWaitOperator,在其processElement/...
5. **异步I/O(Asynchronous I/O)** 异步I/O是Windows最强大的I/O模型,它允许在I/O操作完成时通知应用程序,而不是在开始时。Windows API提供了`AsyncRead`和`AsyncWrite`函数来实现这种模型。这个模型特别适用于...
9. **错误检测与处理**:I/O接口应具备检测和处理错误的能力,例如奇偶校验、CRC校验、超时检测等,以确保数据传输的可靠性。 通过"实验五IO接口",学生将有机会实践上述理论知识,掌握如何在实际项目中设计和实现I...
### 执行I/O密集型异步操作 #### 引言 在现代软件开发中,特别是在构建响应迅速且可扩展的应用程序时,理解并正确实施I/O密集型异步操作至关重要。这种技术不仅可以显著提高应用程序的性能,还可以确保用户体验...
- AIO(Asynchronous I/O):异步非阻塞I/O,Java 1.7引入,通过异步回调处理读写事件,但实际应用不如NIO广泛。 2. BIO与NIO模型区别 - BIO模型中,每个连接都需要一个单独的线程处理,当连接数增多时,线程开销...
Asynchronous Http Client for Android Build Status An asynchronous, callback-based Http client for Android built on top of Apache's HttpClient libraries. Changelog See what is new in version 1.4.9 ...
Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换来实现这一点,这使得网页交互更加迅速且提升了用户体验。 #### 二...
在Linux系统中,异步I/O可以通过AIO(Asynchronous Input/Output)接口实现,如libaio库。而在Windows系统中,可以使用I/O完成端口(IOCP)或者Windows API的BeginRead/BeginWrite等函数。此外,许多高级编程框架,...
- **通信接口**: SPI (Serial Peripheral Interface)、I2S (Inter-IC Sound)、I2C (Inter-Integrated Circuit)、USART (Universal Synchronous/Asynchronous Receiver/Transmitter)、CAN (Controller Area Network)...
Current release v3.0.0.0 (Oct 28, 2007) in version v3.0.0.0 <br>- New : support for C++Builder 2007(支持C++ Builder 2007) - New : asynchronous events added to almost all controls....
另一种方法是采用AIO(Asynchronous I/O)接口,它允许进程注册回调函数,当I/O完成时,内核会调用这个函数。 接下来,我们讨论"异步I/O"。异步I/O与异步通知不同,它涉及到I/O操作的整个生命周期,包括发起、执行...
Linux内核还提供了异步I/O(Asynchronous I/O,AIO)模型,它允许进程在发起I/O操作后立即返回,然后在I/O完成时通过信号或回调函数通知进程。这种方法结合了阻塞和非阻塞的优点,既避免了阻塞的等待,也减轻了轮询...
Asynchronous Http Client for Android An asynchronous, callback-based Http client for Android built on top of Apache's HttpClient libraries. Changelog See what is new in version 1.4.9 released on 19th...