Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: Async I/O question
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
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
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
![]() |
![]() |