Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: What does an app need to do to work with RAC
On 01/29/2007 05:05:01 AM, Anjo Kolk wrote:
> John,
>
> The simple answer to this is: CONTENTION in the application in any form.
> What I mean with that is data block contention (the obvious one) but also
> ROW CACHE and LIBRARY cache contention. The problem is that synchronizing
> between instances will become more expensive if you need to do more of
> it.E.g having two nodes going after the same block will cost less than
> having 10 nodes going after the same block. The problem is not the number of
> nodes, but the contention for the block. So how can one predict what will
> happen you go to RAC from a single instance? There are a couple of simple
> things one can do to find out (v$latch, v$sysstat, x$kcbsw, etc.), but that
> is too much work for this email.
>
Anjo, I understand why would you want to look into v$latch and v$sysstat, but why in the world would a layman like me want to look into a table that defines wait per software module? The only query that used this table in my collection is the following:
SELECT WH.KCBWHDES "MODULE",SW.WHY0 "CALLS",SW.WHY2 "WAITS", SW."OTHER_WAIT" "CAUSED WAITS"
FROM x$kcbwh WH, x$kcbsw SW
WHERE WH.indx = SW.indx
AND SW."OTHER_WAIT" > 0 ORDER BY SW."OTHER_WAIT"
The author is, I believe, K. Gopalakrishnan and results look something like this:
MODULE CALLS WAITS CAUSED WAITS -------------------- ---------- ---------- ------------ kdswh01: kdstgr 5295 0 1 kdswh02: kdsgrp 5076 0 1 kdswh06: kdscgr 5600 0 1 kdiwh06: kdifbk 7283 0 1 kdiwh07: kdifbk 11247 0 1 kdiwh08: kdiixs 6973 0 1 kdiwh09: kdiixs 8057 0 4
7 rows selected.
Now, what can I do about these modules and why would I want to look into this table before "racifying" my database?
-- Mladen Gogala http://www.mladen-gogala.com -- http://www.freelists.org/webpage/oracle-lReceived on Mon Jan 29 2007 - 07:59:55 CST
![]() |
![]() |