Unix Technical Forum

Slow connection to Oracle on AIX: using truss

This is a discussion on Slow connection to Oracle on AIX: using truss within the Oracle Database forums, part of the Database Server Software category; --> Hi All, We are investigating slow connection to Oracle on AIX 5.2 using truss utility: > truss -d -o ...


Go Back   Unix Technical Forum > Database Server Software > Oracle Database

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 02-26-2008, 07:53 AM
Vsevolod Afanassiev
 
Posts: n/a
Default Slow connection to Oracle on AIX: using truss

Hi All,

We are investigating slow connection to Oracle on AIX 5.2
using truss utility:

> truss -d -o truss.out sqlplus user/pass @connect.sql


where connect.sql contains only one line: exit

The output file consistently shows something like that:
(first column is time in seconds):
---------------------------

0.2123: close(7) = 0
0.2125: close(10) = 0
kread(9, " N T P 0 9 8 3 2 0 8\n".., 64) = 12
1.0132: _getpid() = 905314
1.0140: kfcntl(9, F_SETFD, 0x0000000000000001) = 0
-----------------------------
So it spent 0.8 second executing "kread" with file_id = 9.
But what is it? There is no "open" that returns "9".
I think "0" is standard input, "1" is standard output,
and "2" is standard error. But what is "9"?

In the example above the delay is 0.8 second
buy we have seen much longer delays.

"sar" does not show heavy load on the server.
"sar -d" does not show any busy disks.

It is interesting that we are able to reproduce this problem
on another server (AIX 5.3) by copying a large file
within the filesystem where Oracle is installed.
Output of truss shows:

---------------------------------
0.2261: close(7) = 0
kwrite(8, "01 Z\0\006\0\0\0\0\003 s".., 346) = 346
2.2286: kread(9, "\016\0\006\0\0\0\0\00280".., 2064)
(sleeping...)
kread(9, "04 6\0\006\0\0\0\0\0\b\0".., 2064) = 1078
29.8208: open("/ora/oracle/product/9207/rdbms/mesg/oraus.msb",
O_RDONLY) = 7
-----------------------------

So it spent 2 seconds doing "kwrite(8" and then 27 seconds doing
"kread(9".




Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 02-26-2008, 07:53 AM
joel garry
 
Posts: n/a
Default Re: Slow connection to Oracle on AIX: using truss

On Feb 20, 9:01*pm, Vsevolod Afanassiev <vafanass...@yahoo.com> wrote:
> Hi All,
>
> We are investigating slow connection to Oracle on AIX 5.2
> using truss utility:
>
> > truss -d -o truss.out sqlplus user/pass @connect.sql

>
> where connect.sql contains only one line: exit
>
> The output file consistently shows something like that:
> (first column is time in seconds):
> ---------------------------
>
> 0.2123: * * * *close(7) * * * * * * * * * * * * = 0
> 0.2125: * * * *close(10) * * * * * * * * * * * *= 0
> kread(9, " N T P 0 * 9 8 3 2 0 8\n".., 64) * * *= 12
> 1.0132: * * * *_getpid() * * * * * * * * * * * *= 905314
> 1.0140: * * * *kfcntl(9, F_SETFD, 0x0000000000000001) = 0
> -----------------------------
> So it spent 0.8 second executing "kread" with file_id = 9.
> But what is it? There is no "open" that returns "9".
> I think "0" is standard input, "1" is standard output,
> and "2" is standard error. But what is "9"?
>
> In the example above the delay is 0.8 second
> buy we have seen much longer delays.
>
> "sar" does not show heavy load on the server.
> "sar -d" does not show any busy disks.
>
> It is interesting that we are able to reproduce this problem
> on another server (AIX 5.3) by copying a large file
> within the filesystem where Oracle is installed.
> Output of truss shows:
>
> ---------------------------------
> 0.2261: * * * *close(7) * * * * * * * * * * * * = 0
> kwrite(8, "01 Z\0\006\0\0\0\0\003 s".., 346) * *= 346
> 2.2286: * * * *kread(9, "\016\0\006\0\0\0\0\00280".., 2064)
> (sleeping...)
> kread(9, "04 6\0\006\0\0\0\0\0\b\0".., 2064) * *= 1078
> 29.8208: * * * *open("/ora/oracle/product/9207/rdbms/mesg/oraus.msb",
> O_RDONLY) = 7
> -----------------------------
>
> So it spent 2 seconds doing "kwrite(8" and then 27 seconds doing
> "kread(9".


Do you have a sqlnet.ora? What is in it? Do you have a
tnsnames.ora? What is in it? Do you have a version? Is your client
on the same box as the server? Have you tried sqlnet tracing? Do you
have login.sql or glogin.sql in use?

I speculate you are traversing a directory path and having to wait for
some dang thing or other, like a login.sql on NFS or something silly
like that.

jg
--
@home.com is bogus.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 09:45 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com