Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Finding offending thread in MS Windows server

Re: Finding offending thread in MS Windows server

From: Yong Huang <yong321_at_yahoo.com>
Date: 12 Nov 2004 06:15:02 -0800
Message-ID: <b3cb12d6.0411120615.7b544b1f@posting.google.com>


Forte Agent <1443131_at_usenetplanet.com> wrote in message news:<ld77p01alqbcb6adiumajgrlkkbist7htr_at_4ax.com>...
> We have Oracle DB 9.2.0.4 on Windows 2000 Server. Sometimes we see
> ORACLE.EXE taking up 100% of CPU time to time, practically bringing
> our server down to halt. Problem is, unlike UNIX, all Oracle
> processes in Windows run as a single ORACLE.EXE process, so we are
> having trouble finding out which database session is taking up CPU.
> Is there some way to identify offending session in Windows?
> Unfortunately, dynamic performance view such as v$session_wait is not
> helping too much.
>
> Since Oracle processes in Windows run as many threads spawned by a
> single ORACLE.EXE process, we are wondering if there is a way to
> pin-point exactly what thread is taking up CPU, and kill just that
> specific thread. Please let us know if there is a way. Thank you in
> advance.

Hi, Forte,

Can you tell us what's in v$session_wait excluding (commonly considered) idle events? You can also watch v$sesstat for 'CPU used by this session' statistic (get statistic# from v$statname or v$sysstat). Find the session that has the largest delta values between two samplings.

If you really want to use a non-Oracle tool, I suggest Sysinternals' Process Explorer. You can get thread-specific CPU usage. Most other tools don't show this.

Yong Huang Received on Fri Nov 12 2004 - 08:15:02 CST

Original text of this message

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