Krishna’s page … “One Blog-Mavin’s Solutions”

November 18, 2008

where can I find pmon, smon …oracle services in windows ?

Filed under: Database — krishnaspage @ 5:30 am

It is damn! easy to see the running oracle services/processes status. But the same when comes to Windows its some thing different and tricky due to architectural differences.

we can see pmon,smon ..processes in UNIX as follows 

ps -eaf | grep ora | grep -v grep | grep -v LOCAL
so obvious question that is there any way to see same kind of out put in windows command prompt too … 
Answer : In a windows environment for oracle, each detached precess runs as a concurrently running thread with single executable called Oracle.exe (Depends on version of oracle this exe file name vary slightly) . Using this executable with several threads , the threads all share the same code, memory space and other structures.
Now go to Task manager (use ctl + alt +  del ) and go to processes tab.And in the list of processes also you will find only the main Oracle process but not the threads separately.
So in windows  individual thread names (pmon ,smon etc) of oracle process ar not visible neither from Task manager nor from Services window.
We can find some information about them in the alert log when ever the database started.
snippet from the log looks like the below
PMON started with pid=2
DBW0 started with pid=3
LGWR started with pid=4
CKPT started with pid=5
SMON started with pid=6
RECO started with pid=7
How to see this log : 
go to run -> cmd -> 
type alert_db10.log
Note : Assuming DB installed is oracle 10g.
PATH: %oracle_home%\network\log
Name vary accordingly.
We can also obtain the list threads and their assignment through SQL*Plus via the following query 
select b.name bkpr , s.Username spid p.Pid from V$BGPROCESS b, V$SESSION s, V$PROCESS p, where p.Addr = b.Paddr(+) and p.Addr = s.Paddr
Note : The listener and dispatcher threads do not show up in this list.
In this way we can identify which process is associated with each thread.
    

1 Comment »

  1. I want to find the oracle background process’s service time in windows

    plz tell me how

    Comment by Shajahan — February 24, 2012 @ 12:17 pm


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Theme: Shocking Blue Green. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.