Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Asynch IO and truss question

RE: Asynch IO and truss question

From: VIVEK_SHARMA <VIVEK_SHARMA_at_infy.com>
Date: Mon, 11 Dec 2000 21:23:21 +0530
Message-Id: <10707.124200@fatcity.com>


Arun,Vivek,List

Is Quick i/o available on Digital ( Tru Unix 64 ver 4.0 G) OR IBM AIX 4.3.3 having Clusters ?
If so , could you give it's Tech. name there & some detail ?

> -----Original Message-----
> From: ARUN K C [SMTP:arun_k_c_at_hotmail.com]
> Sent: Friday, December 08, 2000 10:51 PM
> To: Multiple recipients of list ORACLE-L
> Subject: Re: Asynch IO and truss question
>
> Have 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_at_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 ?
> >
Received on Mon Dec 11 2000 - 09:53:21 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US