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: Async I/O question

RE: Async I/O question

From: Diego Cutrone <dcutrone_at_afip.gov.ar>
Date: Thu, 09 May 2002 10:59:59 -0800
Message-ID: <F001.0045D3C5.20020509105959@fatcity.com>


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         

  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

--

Please see the official ORACLE-L FAQ: http://www.orafaq.com
--

Author: Diego Cutrone
  INET: dcutrone_at_afip.gov.ar

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_at_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). Received on Thu May 09 2002 - 13:59:59 CDT

Original text of this message

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