When examining the processes
running on an NT machine supporting Oracle,
the major background Oracle process seen
is oracle.exe. This multithreaded process
contains everything that makes up the Instance
set. DBWR, LGWR, PMON, SMON and so on. In
Unix, these are distinct processes visible
at the shell level; therefore their resource
utilization may be seen by using acctcom
and ps. In NT, using say Task Manager whatever
the individual items are doing to the system
is shown as being caused by oracle.exe.
Most people trying to understand a bit more
about operating system resource use by particular
parts of the Oracle Instance will usually
stop at this point.
However, Windows allows the user to examine
the resource utilization of threads via
the Performance Monitor in the same way
as processes. The Oracle threads are named
oracle/1, oracle/2 where the individual
thread is identified to the user by a number.
To decode this number into the actual activity
name, running this sql:
select b.name, p.spid, p.pid
from v$bgprocess b, v$process p
where b.paddr = p.addr
to produce output like so:
| NAME |
SPID |
PID |
| |
|
|
| PMON |
836 |
2 |
| DBW0 |
1432 |
3 |
| LGWR |
1116 |
4 |
| CKPT |
1476 |
5 |
| SMON |
1308 |
6 |
| RECO |
1328 |
7 |
| SNP0 |
1436 |
8 |
| SNP1 |
1364 |
9 |
will allow the PID to identify each individual
thread. Using this, the resource utilization
of each part of the Instance process set
may be examined in the same way that they
may be on Unix systems.
Next
Oracle Tip |