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 -----
From: Anjo Kolk
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 

Reply via email to