Message-Id: <10704.124046@fatcity.com> From: "ARUN K C" Date: Fri, 08 Dec 2000 16:22:34 Subject: Re: Asynch IO and truss question



ave u enabled quick i/o on the files u want to monitor

can u please let me know as to how u have enabled the quick i/o

looks like it is not enabled.

there are two ways to enable the quick i/o

first enable the filesystem as quick i/o

2nd create quick i/o file and then create the datafile based on that name.

or if u have already have a datafile and if u want to enable quick i/o on that then u will have to offline that particular file and then enable quick i/o on it

the syntax goes like the below for datafiles

qiomkfile -h 8k -s 100M name_of_the_file

the above command creates 2 files one is a .(dot)file and another a link which is linked to this .(dot)file

or if u have already a datafile and u want to enable this as a quick i/o file

first bring it offline

mv datafile .datafile(ie dotdatafile there is a dot prior to the filename)

then create a link on that datafile

the scene goes as below

mv log1blink.ora .log1blink.ora

ln -s log1blink.ora .log1blink.ora

once this is done bring that file online and voila

see the quick i/o working

if u feel it is not working right then

make that file offline rm the link and rename the .file as a normal file.

Below is the truss on one of my logwriter which is showing that aio write is going on

 

994/1:          sigprocmask(SIG_BLOCK, 0xEFFFE740, 0x00000000)  = 0
994/1:          times(0xEFFFE670)                               = 15661119
994/1:          setitimer(ITIMER_REAL, 0xEFFFE670, 0x00000000)  = 0
994/1:          sigprocmask(SIG_UNBLOCK, 0xEFFFE6E0, 0x00000000) = 0
994/1:          semop(131072, 0xEFFFE748, 1)                    = 0
994/1:          sigprocmask(SIG_BLOCK, 0xEFFFE740, 0x00000000)  = 0
994/1:   !        setitimer(ITIMER_REAL, 0xEFFFE670, 0x00000000)  = 0
994/1:          sigprocmask(SIG_UNBLOCK, 0xEFFFE710, 0x00000000) = 0
994/1:          kaio(AIOWRITE, 306, 0xA7918000, 512, 0x038BE400, 0x01082DE4) = 0
994/1:          kaio(AIOWAIT, 0xEFFFE328)                       = 17313252
994/1:          semctl(131072, 232, 8, 1)                       = 0
994/1:          getcontext(0xEFFFE590)
994/1:          sigprocmask(SIG_BLOCK, 0xEFFFE740, 0x0000! 0000)  = 0
994/1:          times(0xEFFFE670)                               = 15661121
994/1:          setitimer(ITIMER_REAL, 0xEFFFE670, 0x00000000)  = 0
994/1:          sigprocmask(SIG_UNBLOCK, 0xEFFFE6E0, 0x00000000) = 0
994/1:          semop(131072, 0xEFFFE748, 1)                    = 0
994/1:          sigprocmask(SIG_BLOCK, 0xEFFFE740, 0x00000000)  = 0
994/1:          setitimer(ITIMER_REAL, 0xEFFFE670, 0x00000000)  = 0
994/1:&n! bsp;         sigprocmask(SIG_UNBLOCK, 0xEFFFE710, 0x00000000) = 0
994/1:          kaio(AIOWRITE, 306, 0xA7918200, 9216, 0x038BE600, 0x01082D50) = 0
994/1:          kaio(AIOWAIT, 0xEFFFE328)                       = 17313104
994/1:          semctl(131072, 214, 8, 1)                       = 0
994/1:          getcontext(0xEFFFE590)
994/1:          sigprocmask(SIG_BLOCK, 0xEFFFE740, 0x00000000)  = 0
994/1:          times(0xEFFFE670) &! nbsp;                             = 15661135
994/1:          setitimer(ITIMER_REAL, 0xEFFFE670, 0x00000000)  = 0
994/1:          sigprocmask(SIG_UNBLOCK, 0xEFFFE6E0, 0x00000000) = 0

>From: paquette stephane
>Reply-To: ORACLE-L@fatcity.com
>To: Multiple recipients of list ORACLE-L
>Subject: Asynch IO and truss question
>Date: Thu, 07 Dec 2000 19:29:44 -0800
>
>Hi all,
>
>Since the sys admin is available 15min per week, I've
>started to play with truss to make sure asynch IO was
>done.
>This is on Solaris 2.7, Oracle 8.1.6 and Veritas Quick
>IO.
>I've done truss -fl on the the dbwr process.
>It's giving me
>28529/1: Received signal #14, SIGALRM, in
>semop() [caught]
>28529/1: semop(37224452, 0xFFFFFFFF7FFFDCAC, 1)
> Err#91 ERESTART
>28529/1: sigprocmask(SIG_BLOCK,
>0xFFFFFFFF7FFFD770, 0x00000000) = 0
>28529/1: times(0xFFFFFFFF7FFFD6A0)
> = 243599308
>28529/1: sigprocmask(SIG_UNBLOCK,
>0xFFFFFFFF7FFFD770, 0x00000000) = 0
>28529/1: getcontext(0xFFFFFFFF7FFFD3C0)
>28529/1: setcontext(0xFFFFFFFF7FFFD3C0)
>28529/1: sigprocmask(SIG_BLOCK,
>0xFFFFFFFF7FFFDAE0, 0x00000000) = 0
>28529/1: setitimer(ITIMER_REAL,
>0xFFFFFFFF7FFFD9B0, 0x00000000) = 0
>28529/1: sigprocmask(SIG_UNBLOCK,
>0xFFFFFFFF7FFFDAB0, 0x00000000) = 0
>28529/1: kaio(AIOWRITE, 402, 0x381C8C000,
>16384, 0x0342000001E92B70) Err#48 ENOTSUP
>28529/1: lwp_cond_signal(0xFFFFFFFF7C8EBF70)
> = 0
>28529/140: lwp_cond_wait(0xFFFFFFFF7C8EBF70,
>0xFFFFFFFF7C8EBF80, 0x00000000) = 0
>28529/140: pwrite(402, "0202\0\0\080\r\b\00E
>}1A".., 16384, 0x03420000) = 16384
>28529/1: kaio(AIOWAIT, 0xFFFFFFFF7FFFD710)
> = 1
>28529/140: kaio(AIONOTIFY, -2184159392)
> = 0
>28529/1: getcontext(0xFFFFFFFF7FFFD8D0)
>28529/1: sigprocmask(SIG_BLOCK,
>0xFFFFFFFF7FFFDAE0, 0x00000000) = 0
>28529/1: times(0xFFFFFFFF7FFFD9B0)
> = 243599310
>28529/1: setitimer(ITIMER_REAL,
>0xFFFFFFFF7FFFD9B0, 0x00000000) = 0
>28529/1: sigprocmask(SIG_UNBLOCK,
>0xFFFFFFFF7FFFDA80, 0x00000000) = 0
>28529/1: semop(37224452, 0xFFFFFFFF7FFFDCAC, 1)
>(sleeping...)
>28529/2: kaio(6, 0x00000000, 0x00000000,
>0x00000000, 0x00000000, 0x00000000) (sleeping...)
>28529/3: lwp_cond_wait(0xFFFFFFFF7D58DF70,
>0xFFFFFFFF7D58DF80, 0x00000000) (sleeping...)
>28529/4: lwp_cond_wait(0xFFFFFFFF7D57BF70,
>0xFFFFFFFF7D57BF80, 0x00000000) (sleeping...)
>...
>
>I've read on metalink that the error 48 is because of
>the vol_maxio buffer being smaller than
>db_file_direct_io_count*db_block_size.
>Anybody can confirm ?
>
>Also, should I be concerned with the 91 error ?
>
>TIA
>
>
>=====
>Stephane Paquette
>DBA Oracle
>stephane_paquette@yahoo.com
>
>__________________________________________________
>Do You Yahoo!?
>Yahoo! Shopping - Thousands of Stores. Millions of Products.
>http://shopping.yahoo.com/
>--
>Please see the official ORACLE-L FAQ: http://www.orafaq.com
>--
>Author: =?iso-8859-1?q?paquette=20stephane?=
> INET: stephane_paquette@yahoo.com
>
>Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
>San Diego, California -- Public Internet access / Mailing Lists
>--------------------------------------------------------------------
>To REMOVE yourself from this mailing list, send an E-Mail message
>to: ListGuru@fatcity.com (note EXACT spelling of 'ListGuru') and in
>the message BODY, include a line containing: UNSUB ORACLE-L
>(or the name of mailing list you want to be removed from). You may
>also send the HELP command for other information (like subscribing).