Cache hash chains

  • From: "Paul Harrison" <cure@xxxxxxxxxxxxx>
  • To: <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 3 Mar 2015 15:50:05 -0600

Hi Team,

 

The query below returns 4 rows. The database object BUFFCACHETEST has 4 
database buffer headers(doubled linked list) attached to a hash bucket?  Why do 
we have 4 database buffer headers linked to 1 working data set( database buffer 
cache block )?

 

select HLADDR, decode(STATE,0,'free',1,'xcur',2,'scur',3,'cr', 
4,'read',5,'mrec',6,'irec',7,'write',8,'pi', 9,  

                       'memory',10,'mwrite',11,'donated', 12,'protected',  
13,'securefile', 14,'siop',15,'recckpt', 16,  

                       'flashfree',  17, 'flashcur', 18, 'flashna') as STATE, 
PRV_HASH, NXT_HASH,   

                       BA, DBARFIL, DBABLK   

            from X$BH where OBJ = 78451 and DBABLK = 196393;

 

##

update BUFFCACHETEST set NUM=13 where NUM=3;  

 

HLADDR           STATE      PRV_HASH         NXT_HASH         BA

---------------- ---------- ---------------- ---------------- ----------------  
 DBARFIL     DBABLK---------- ----------

000000007A3E3548 xcur       000000007A3E38E8 0000000066FD2FF0 0000000066F04000  
       1     196393

 

000000007A3E3548 cr         0000000066FD2EA8 0000000066FD3138 0000000066F06000  
       1     196393

 

000000007A3E3548 cr         0000000066FD2FF0 0000000068FB7C50 0000000066F08000  
       1     196393

 

 

HLADDR           STATE      PRV_HASH         NXT_HASH         BA

---------------- ---------- ---------------- ---------------- ----------------  
 DBARFIL     DBABLK---------- ----------

000000007A3E3548 cr         0000000066FD3138 000000007A3E38E8 0000000068C5E000  
       1     196393

 

 

Thanks,

Paul

Other related posts: