RE: does oracle use block level locking with RAC?

  • From: "Baumgartel, Paul" <paul.baumgartel@xxxxxxxxxxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Fri, 9 May 2008 15:04:34 -0400

With RAC, Oracle has to maintain "cache coherency".  Because there's
more than one instance, and therefore more than one SGA, a block can
reside in more than one SGA, and the usual locking mechanisms of a
single instance aren't sufficient.  If instance A is making changes to a
block, and instance B wants to make changes, instance B has to wait, and
then have the block transferred to its SGA over the cluster interconnect
before it can make changes.  These waits will usually show up as "gc
buffer busy" waits, "gc" meaning "global cache."
 
Oracle makes a big deal of "Cache Fusion", which transfers blocks over
the interconnect, but in reality if you have a lot of inter-instance
contention for blocks, performance will usually be very poor.
 

Paul Baumgartel 
CREDIT SUISSE 
Information Technology 
Prime Services Databases Americas 
One Madison Avenue 
New York, NY 10010 
USA 
Phone 212.538.1143 
paul.baumgartel@xxxxxxxxxxxxxxxxx 
www.credit-suisse.com 

 

________________________________

From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Ric Van Dyke
Sent: Friday, May 09, 2008 2:52 PM
To: ricks12345@xxxxxxxxx; oracle-l@xxxxxxxxxxxxx
Subject: RE: does oracle use block level locking with RAC?



There are locks and then there are locks.

 

Your right Oracle locks ROWs not blocks.  However, when in RAC only one
instance "owns" the block at a given time.  I forget all the techno
garble to describe the mechanism right now but when another instance
wants to change a block it requests to be the owner of that block if it
isn't at the time the change is being made.  So it sure seems like a
lock because you can't access the block until you own it.  But it's not
a lock in the sense that most of us think of a lock.  Is that confusing
enough?  :-)

 

-----------------------

Ric Van Dyke

Hotsos Enterprises

-----------------------

Hotsos Symposium 2009 dedicated to performance and nothing but
performance

March 8 - 12, 2009 in Dallas, Texas

Be there.

________________________________

From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Rick Ricky
Sent: Friday, May 09, 2008 2:39 PM
To: oracle-l@xxxxxxxxxxxxx
Subject: does oracle use block level locking with RAC?

 

I saw on a board somewhere that someone is having deadlock issues due to
block level locking with Oracle RAC? I thought Oracle always did row
level locking on everything? Could this be a mis-perception with
something else?  


==============================================================================
Please access the attached hyperlink for an important electronic communications 
disclaimer: 

http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html
==============================================================================

Other related posts: