Operating System - HP-UX
1833188 Members
2931 Online
110051 Solutions
New Discussion

Declare all I/O will be Asynchronous

 
YAQUB_1
Respected Contributor

Declare all I/O will be Asynchronous

Hi There,

Our main database is on RAW space under oracle RAC. Now we are facing some disk bottleneck problem so we like using Asynchronous I/O in our database space. From my understanding now logical volume status is Synchronous. Is there any way to declare all I/O will be Asynchronous in all logical volume under RAW space, like we can declare in file system with mount command?

Please give me your feedback ASAP.

It will highly appreciate for your cooperation and support.

Thanks-Yaqub.
5 REPLIES 5
Steven E. Protter
Exalted Contributor

Re: Declare all I/O will be Asynchronous

Shalom,

Raw space is not mounted, so mount options don't do any good.

Asyncronous access is usualy handled by the application. The RAC installation puts in a file called /etc/privgroup which enables asyncronous (some would say psuedo asynchonous) i/o.

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
Hein van den Heuvel
Honored Contributor

Re: Declare all I/O will be Asynchronous

What Oracle version?
Did you exactly follow the detailed instructions in the Oracle documentation for this? Did you at least make sure all those steps were taken correctly (trust but verify).

See:
Oracle9i Administrator's Reference
Release 2 (9.2.0.1.0) for UNIX Systems: AIX-Based Systems, Compaq Tru64 UNIX, HP 9000 Series HP-UX, Linux Intel, and Sun Solaris
Part No. A97297-01"

Chapters:
- Implementing Asynchronous I/O
- Verifying Asynchronous I/O
- Asynchronous Flag in SGA

hth,
Hein.
David de Beer
Valued Contributor

Re: Declare all I/O will be Asynchronous


http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=1052398


To implement asynchronous I/O on HP-UX for raw logical volumes:
* set the async_disk driver (Asynchronous Disk Pseudo Driver)to IN
in the HP-UX Kernel, this will require generating a new kernel and rebooting .

* create the device file:

# mknod /dev/async c 101 0x00000#
#=the minor number can be one of the following values:

0x000000 default-immediate reporting will not be used
a cache flush will be done before posting an IO operation complete

0x000001 enable immediate reporting
0x000002 flush the CPU cache after reads
0x000004 allow disks to timeout
0x000005 is a combination of 1 and 4
0x000007 is a combination of 1, 2 and 4

Note: Contact your database vendor or product vendor to determine the
correct minor number for your application.
Change the ownership to the approriate group and owner :

chown oracle:dba /dev/async

change the permissions :

chmod 660 /dev/async


vi /etc/privgroup

add 1 line : dba MLOCK

give the group MLOCK priviledges

/usr/sbin/setprivgrp MLOCK

To verify if a group has the MLOCK privilege execute:

/usr/bin/getprivgrp
Zinky
Honored Contributor

Re: Declare all I/O will be Asynchronous

I can confirm that the previous posters steps is correct for Oracle on 11.11. This is exactly the steps we use.

Additionally, IF your Database instance is the only load on your server (i.e. You have a purely database Server and runs nothing else), you will also need to :

Add to /etc/privgroup:

dba RTSCHED RTPRIO

In init.ora set: "hpux_sched_noage=178"

And start Oracle with something like:
rtsched -s SCHED_NOAGE -p 180


Hope this helps...

Hakuna Matata

Favourite Toy:
AMD Athlon II X6 1090T 6-core, 16GB RAM, 12TB ZFS RAIDZ-2 Storage. Linux Centos 5.6 running KVM Hypervisor. Virtual Machines: Ubuntu, Mint, Solaris 10, Windows 7 Professional, Windows XP Pro, Windows Server 2008R2, DOS 6.22, OpenFiler
YAQUB_1
Respected Contributor

Re: Declare all I/O will be Asynchronous

Thank you for all of your advice.