Re: "gc cr multi block request" and "Current Blocks Received"
Date: Mon, 22 Nov 2010 10:02:42 +0800
Message-ID: <AANLkTim7=QGiCJ0qLaTnktyWwwpjeZj2mwLmRGWt7eWP_at_mail.gmail.com>
> If the block held in S mode in another instance,
> And if the holder=master, you get the current block.
> <gc current blocks received>
Interesting.
I try to reproduce it in my Oracle 10.2.0.4 2-nodes RAC, but have no luck.
In rac2 intance, I insert some new rows into table T, and try to remaster it manually:
SQL> insert into kamus.t select * from dba_objects;
10300 rows created.
SQL> select count(*) from kamus.t;
COUNT(*)
348792
SQL> select object_id,data_object_id from dba_objects where object_name='T';
OBJECT_ID DATA_OBJECT_ID
---------- --------------
23143 23143
SQL> oradebug lkdebug -m 23143
Statement processed.
SQL>
In rac1 instance:
SQL> select name,value from v$sysstat where NAME in ('gc cr blocks
received','gc current blocks received');
NAME VALUE ---------------------------------------------------------------- ---------- gc cr blocks received 2317 gc current blocks received 6204
SQL> /
NAME VALUE ---------------------------------------------------------------- ---------- gc cr blocks received 2317 gc current blocks received 6204
SQL> select count(*) from kamus.t;
COUNT(*)
338492
SQL> select name,value from v$sysstat where NAME in ('gc cr blocks received','gc current blocks received');
NAME VALUE ---------------------------------------------------------------- ---------- gc cr blocks received 2603 gc current blocks received 6205
Only got 1 block "gc current blocks received" and all others are "gc cr blocks received".
-- Kamus <kamusis_at_gmail.com> Visit my blog for more : http://www.dbform.com Join ACOUG: http://www.acoug.org On Sun, Nov 21, 2010 at 8:03 AM, K Gopalakrishnan <kaygopal_at_gmail.com> wrote:Received on Sun Nov 21 2010 - 20:02:42 CST
> Kamus,
> Depending on the state of the block and mode, you might get a cr block or
> current block.�Here is the possible operations for your gc cr request. I
> have dealt these issues little bit �in my upcoming 11g RAC book, however you
> might have to wait for few months to get a copy in your hand. So to answer
> your question here is the possible answer.
> If 'gc cr request' is made from your instance
> If the block is not cached elsewhere,
> You get the CR grant, and wait on 2-3 way messages.
> If the block is held in X mode in another in another instance
> Holder constructs CR copy and you get the block.
> <gc cr block received>
> If the block held in S mode in another instance,
> And if the holder=master, you get the current block.
> <gc current blocks received>
> However please keep in mind undo block (header/data) transfers are always
> current blocks, though it increments the 'gc cr blocks received' stats.
> -Gopal
>
>
> On Fri, Nov 19, 2010 at 5:21 PM, Leyi Zhang (Kamus) <kamusis_at_gmail.com>
> wrote:
>>
>> Hi, experts:
>>
>> We have a RAC system, in AWR report "gc buffer busy" is top 1 wait (31
>> Percent Total DB Time), and "gc cr multi block request" is the 2nd (21
>> Percent Total DB Time)
>>
>> But in AWR report - "Segment Statistics" section ,we can only find
>> there are lots of "Current Blocks Received", not so much "CR Blocks
>> Received".
>>
>> So my question is: Is it possible If a session waiting on "gc cr multi
>> block request" and then it �received a �"Current Block"?
>>
>> --
>>
>
>
-- http://www.freelists.org/webpage/oracle-l