Here is a (advanced) question concerning Oracle on MPE, regarding a box with
multiple CPUs.
I wrote a script to monitor latch contention, which is an important factor
to take care of. Although you might have seen something equivalent, here it
is.
select vln.name,
decode(vl.gets,0,0,(vl.misses/vl.gets)*100) "wait ratio",
vlh.pid,
vlh.sid
from v$latchholder vlh,
v$latchname vln,
v$latch vl
where vlh.laddr (+) = vl.addr
and vl.latch# = vln.latch#
order
by 1
It gives me for each latch, the wait ratio (in percentage) since database
was started and the sid currently holding it, if applicable.
The results I get are all good (< 0.1 %) except for only one, which is very,
very high: > 80 % !!! That bad value is for the "redo copy" latch.
That latch is used when the initialisation parameter
"log_simultaneous_copies" is set to more than 0. That parm is useful when
you have more than 1 CPU because it can reduce contention in writing in the
log_buffer. Oracle doc says it could be set as high as twice the number of
CPU, which I did.
I really wonder why I have a so bad wait ratio about that latch. I would be
glad to know if some of you observed such a behavior and if you have some
explanation. In my opinion, I think it is fairly related to implementation
of Oracle on MPE and the way it uses multi CPU on it. As I observed, we have
to set the "cpu_count" in the initialisation parameter file because Oracle
doesn't detect it on MPE.
TIA
Michel Gauthier
Donohue Inc.
|