Because each dispatcher that is defined in the init.ora file will become a UNIX process, you will be able to see the dispatcher processes in UNIX after the database is started. View the code below to see the three dispatchers that we have defined thus far:
dilbert:[/u/oracle] > ps -ef|grep ora_d0
oracle 19236 1 0 07:42:15 - 0:00 ora_d001_fred
oracle 29520 1 0 07:42:15 - 0:00 ora_d000_fred
oracle 30084 32034 1 07:47:09 pts/7 0:00 grep ora_d0
oracle 33642 1 0 07:42:15 - 0:00 ora_d002_fred
- ora_d000_fred,
- ora_d001_fred, and
- ora_d002_fred.
The UNIX
ps
command is very useful for viewing the MTS dispatchers, but you can also view MTS activity through the Oracle dictionary. The
v$queue
and
v$dispatcher
data dictionary views will indicate if the number of MTS dispatchers is too low.
View the Code below to see what the
v$queue
data dictionary view looks like.
View the code below to see what the
v$dispatcher
data dictionary view looks like.
SQL> select * from v$queue;
PADDR TYPE QUEUED WAIT TOTALQ
-------- ---------- ---------- ---------- ----------
00 COMMON 0 0 15
00 OUTBOUND 0 0 0
420548A4 DISPATCHER 0 1 15
42054B0C DISPATCHER 0 0 0
42054D74 DISPATCHER 0 0 0
SQL> select * from v$dispatcher;
NAME NETWORK
PADDR STATUS
ACC MESSAGES BYTES BREAKS OWNED CREATED IDLE BUS
Y LISTENER
----- --------------------------------------------------------------------------
------------------------------------------------------ -------- ----------------
--- ---------- ---------- ---------- ---------- ---------- ---------- ---------
- ----------
D000 (ADDRESS=(PARTIAL=yes)(PROTOCOL=ipc))
450660D4 WAIT
YES 202 13320 0 0 2 4681834 17
4 0
D001 (ADDRESS=(PARTIAL=yes)(PROTOCOL=ipc))
4506633C WAIT
YES 313 21904 0 0 4 4681771 24
0 0
D002 (ADDRESS=(PARTIAL=yes)(PROTOCOL=tcp))
450665A4 WAIT
YES 811151 92165767 0 17 3931 4449027 23298
3 0
D003 (ADDRESS=(PARTIAL=yes)(PROTOCOL=tcp))
4506680C WAIT
YES 660608 72314081 0 18 3166 4490706 19130
0
The next lesson explains how to identify
contention in MTS.