Thanks Anjo/John:
Anjo, I agree, Unknown297
might be a post/wait call asking for KAIO.
John, you
have to configure AIO servers separately using
SMIT AIO. (And possiblly bounce
the server?)...If you are going to use Threaded Async I/O with FS , If you
want to use
Kernelized Async I/O with Raw devices (my case), you should
not use AIO servers.
(as a matter
of fact you can't use them)
Thanks again for the answers.
DC
----- Original Message -----
Sent: Wednesday, May 08, 2002 3:08
PM
Subject: Re: Async I/O question
Could the unknown297 call be for post/wait (postwait
driver). As that is what is missing in the trace.
Anjo.
Diego Cutrone wrote:
Hi list. Oracle 7.3.4.5IBM 4.3.3Raw devices
based datafilesuse_async_io=TRUE While the database was processing some long update, I traced the
LGWR proccess with SCTRACE utility (like truss in solaris or HP) and I got
the following dump: LGWR
proccess unknown297(0x1,
0x2ff0cfa8, 0x30, 0x2ff0cfa0, 0x2ff0ed00) -> 0 times(0x2ff20fd8) -> 77507556
(0x49eabe4)
0x2ff20fd8: 0000: 00000015 000001e1 00000000 00000000
|................| times(0x2ff21068) -> 77507556 (0x49eabe4) 0x2ff21068: 0000: 00000015 000001e1 00000000
00000000 |................| times(0x2ff212c8) -> 77507556 (0x49eabe4) 0x2ff212c8: 0000: 00000015 000001e1 00000000
00000000 |................| times(0x2ff212c8) -> 77507556 (0x49eabe4) 0x2ff212c8: 0000: 00000015 000001e1 00000000
00000000 |................| times(0x2ff21018) -> 77507556 (0x49eabe4) 0x2ff21018: 0000: 00000015 000001e1 00000000
00000000 |................| times(0x2ff21068) -> 77507556 (0x49eabe4) 0x2ff21068: 0000: 00000015 000001e1 00000000
00000000 |................| unknown297(0x1, 0x2ff0cfa8, 0x3, 0x2ff0cfa0, 0x2ff0e058) ->
0 times(0x2ff20fd8) ->
77507557 (0x49eabe5)
0x2ff20fd8: 0000: 00000015 000001e1 00000000 00000000
|................| times(0x2ff21068) -> 77507557 (0x49eabe5) 0x2ff21068: 0000: 00000015 000001e1 00000000
00000000 |................|and
it keeps going..... I asume that unknown297() system call is the writting call here, as
times() unknown297() and are the only calls that appearin the trace. After this testing I did the same trace in
anOracle database
7.3.4.5File system based
datafilesAIX 4.3.3 (same
box)use_async_io =
TRUE And I got the
following output: LGWR
proccess unknown297(0xa,
0, 0x4000982c, 0x1, 0x20034c78) -> -1 EINTR(4) (Interrupted system
call) times(0x2ff21438)
-> 45035290 (0x2af2f1a) 0x2ff21438: 0000: 0000002d 00000175 00000000 00000000
|...-...u........| times(0x2ff215c8) -> 45035290 (0x2af2f1a) 0x2ff215c8: 0000: 0000002d 00000175 00000000
00000000 |...-...u........| kwaitpid(0x2ff21520, -1, 0x5, 0x00000000) -> -1 ECHILD(10) (No
child processes) kill(27736, SIG 0(0)) -> 0 times(0x2ff215c8) -> 45035290
(0x2af2f1a)
0x2ff215c8: 0000: 0000002d 00000175 00000000 00000000
|...-...u........| times(0x2ff21478) -> 45035290 (0x2af2f1a) 0x2ff21478: 0000: 0000002d 00000175 00000000
00000000 |...-...u........| unknown297(0x12c, 0, 0x4000982c, 0x1, 0x20034c78)
[unknown297] -> 0
times(0x2ff21438) -> 45035477
(0x2af2fd5)
0x2ff21438: 0000: 0000002d 00000175 00000000 00000000
|...-...u........| times(0x2ff21398) -> 45035477 (0x2af2fd5) 0x2ff21398: 0000: 0000002d 00000175 00000000
00000000 |...-...u........| times(0x2ff21398) -> 45035477 (0x2af2fd5) 0x2ff21398: 0000: 0000002d 00000175 00000000
00000000 |...-...u........| times(0x2ff210e8) -> 45035477 (0x2af2fd5) 0x2ff210e8: 0000: 0000002d 00000175 00000000
00000000 |...-...u........| times(0x2ff21138) -> 45035477 (0x2af2fd5) 0x2ff21138: 0000: 0000002d 00000175 00000000
00000000 |...-...u........| kwrite(15, 0x4213be00, 55296) -> 55296 (0xd800)
times(0x2ff210a8) -> 45035479
(0x2af2fd7)
0x2ff210a8: 0000: 0000002d 00000175 00000000 00000000
|...-...u........| times(0x2ff21138) -> 45035479 (0x2af2fd7) 0x2ff21138: 0000: 0000002d 00000175 00000000
00000000 |...-...u........| unknown297(0xa650, 0xc08, 0, 0x5, 0x420315b4) -> 0
times(0x2ff21398) -> 45035479
(0x2af2fd7)
0x2ff21398: 0000: 0000002d 00000175 00000000 00000000
|...-...u........| times(0x2ff21398) -> 45035479 (0x2af2fd7) 0x2ff21398: 0000: 0000002d 00000175 00000000
00000000 |...-...u........| times(0x2ff210e8) -> 45035479 (0x2af2fd7) 0x2ff210e8: 0000: 0000002d 00000175 00000000
00000000 |...-...u........| times(0x2ff21138) -> 45035479 (0x2af2fd7) 0x2ff21138: 0000: 0000002d 00000175 00000000
00000000 |...-...u........| kwrite(15, 0x42149600, 59904) -> 59904 (0xea00)
kwrite(15, 0x42130000, 48128) -> 48128
(0xbc00) As
you can see kwrite, klseek, etc are used here.My questions are: Is unknown297 system call related to KAIO system
calls? Is kwrite related
to Threaded Async I/O (the ones that uses the AIO servers)
? If I'm correct about
what I've said before, I must assume that the unknown297 system calls that I
seein the second trace (FS
based datafiles) are Oracle attemps to use KAIO (may be
becauseuse_async_io is set to
TRUE), and after these attemps have failed, Oracle uses
kwritesystem call
instead(Threaded Async I/O) Is this correct? If anyone can help, I'd greatly appreciate
it. thanks in
advanceGreetingsDC
|