Buffer cache loaded objects
                                                 Last update (2008-04-17 12:14:33)
                                                                                                                   Date added (2008-04-17 10:46:21)

Summary
You can find the content of each pool in the Buffer Cache with the following query (connect as sys):
SELECT BUFF_POOL.NAME POOL, D.OWNER, O.NAME OBJECT, D.OBJECT_TYPE, SUM(CT) BLOCKS
FROM (SELECT SET_DS, OBJ, COUNT(*) CT FROM X$BH GROUP BY SET_DS, OBJ) BH, OBJ$ O,X$KCBWDS
KCBW,V$BUFFER_POOL BUFF_POOL, DBA_OBJECTS D
WHERE O.DATAOBJ# = BH.OBJ AND D.OBJECT_ID = O.DATAOBJ#
AND O.OWNER# > 0 AND BH.SET_DS = KCBW.ADDR
AND KCBW.SET_ID BETWEEN BUFF_POOL.LO_SETID AND
BUFF_POOL.HI_SETID AND BUFF_POOL.BUFFERS != 0 
AND D.OWNER <> 'SYSTEM'
GROUP BY BUFF_POOL.NAME, D.OWNER, O.NAME, D.OBJECT_TYPE, O.SUBNAME
ORDER BY BUFF_POOL.NAME, D.OWNER, O.NAME, D.OBJECT_TYPE, O.SUBNAME;

POOL                 OWNER                          OBJECT                         OBJECT_TYPE            BLOCKS
-------------------- ------------------------------ ------------------------------ ------------------ ----------
DEFAULT              MONITOR_LLU                    GROWTH_REPORT_DETAILS_U01      INDEX                       2
DEFAULT              MONITOR_LLU                    GROWTH_REPORT_USER_ASSOC       TABLE                       6
DEFAULT              MONITOR_LLU                    GROWTH_REPORT_USER_ASSOC_PK    INDEX                       2
DEFAULT              MONITOR_LLU                    MAILED_MAILS                   TABLE                       1
DEFAULT              MONITOR_LLU                    STATUS_CONFLICT_U01            INDEX                       2
DEFAULT              MONITOR_LLU                    STATUS_CONFLICT_USER_ASSOC     TABLE                       6
DEFAULT              MONITOR_LLU                    STATUS_CONFLICT_USER_ASSOC_PK  INDEX                       3
DEFAULT              MONITOR_LLU                    STATUS_LLU_DETAILS_U01         INDEX                       6
DEFAULT              MONITOR_LLU                    SYS_C001736                    INDEX                       2
DEFAULT              MONITOR_LLU                    TOAD_PLAN_TABLE                TABLE                      13
DEFAULT              MONITOR_LLU                    TRANSITION                     TABLE                       2

POOL                 OWNER                          OBJECT                         OBJECT_TYPE            BLOCKS
-------------------- ------------------------------ ------------------------------ ------------------ ----------
DEFAULT              MONITOR_LLU                    TRANSITION_USER_ASSOCIATION    TABLE                       2
DEFAULT              MONITOR_LLU                    TRANSITION_USER_ASSOCIATION_PK INDEX                       2
DEFAULT              MONITOR_LLU                    TRANS_DESC_U01                 INDEX                       2
DEFAULT              OUTLN                          OL$                            TABLE                       2
DEFAULT              OUTLN                          OL$HINTS                       TABLE                       2
DEFAULT              OUTLN                          OL$NODES                       TABLE                       2

17 rows selected.
As you can see from the ouput the table MONITOR_LLU.TOAD_PLAN_TABLE has 13 blocks in the Buffer Cache. Quering the table extents following:
SQL> SELECT extent_id, file_id, block_id, bytes, blocks 
FROM DBA_EXTENTS  
WHERE SEGMENT_NAME = 'TOAD_PLAN_TABLE' 
ORDER BY EXTENT_ID ASC;

 EXTENT_ID    FILE_ID   BLOCK_ID      BYTES     BLOCKS
---------- ---------- ---------- ---------- ----------
         0          1      26505      65536          8
         1          1      24489      65536          8
But the table has 16 blocks. Executing a full table scan to MONITOR_LLU.TOAD_PLAN_TABLE maybe more blocks wil be cached.
SELECT * FROM MONITOR_LLU.TOAD_PLAN_TABLE;

SELECT BUFF_POOL.NAME POOL, D.OWNER, O.NAME OBJECT, D.OBJECT_TYPE, SUM(CT) BLOCKS
FROM (SELECT SET_DS, OBJ, COUNT(*) CT FROM X$BH GROUP BY SET_DS, OBJ) BH, OBJ$ O,X$KCBWDS
KCBW,V$BUFFER_POOL BUFF_POOL, DBA_OBJECTS D
WHERE O.DATAOBJ# = BH.OBJ AND D.OBJECT_ID = O.DATAOBJ#
AND O.OWNER# > 0 AND BH.SET_DS = KCBW.ADDR
AND KCBW.SET_ID BETWEEN BUFF_POOL.LO_SETID AND
BUFF_POOL.HI_SETID AND BUFF_POOL.BUFFERS != 0 
AND O.NAME = 'TOAD_PLAN_TABLE'
GROUP BY BUFF_POOL.NAME, D.OWNER, O.NAME, D.OBJECT_TYPE, O.SUBNAME
ORDER BY BUFF_POOL.NAME, D.OWNER, O.NAME, D.OBJECT_TYPE, O.SUBNAME;

POOL                 OWNER                          OBJECT                         OBJECT_TYPE            BLOCKS
-------------------- ------------------------------ ------------------------------ ------------------ ----------
DEFAULT              MONITOR_LLU                    TOAD_PLAN_TABLE                TABLE                      15
Now loaded 2 more blocks in the Buffer Cache.
Reviews
Categories
Oracle DBA-> (147)
  Alertlog (3)
  Archivelog (5)
  Auditing (1)
  Backup - Recovery (19)
  Database files (6)
  Database options (2)
  DB links (2)
  Dependencies (1)
  Dictionary (2)
  Exp-Imp Datapump (6)
  Jobs (2)
  Mview (2)
  Networking (3)
  Objects (7)
  Parameters (2)
  Redologs (6)
  Roles - Grants (2)
  Rollback - Undo (8)
  Segments (3)
  Sequences (2)
  Sessions (14)
  SGA (14)
  Tables (10)
  Tablespaces (10)
  Temp (4)
  Toad (5)
  Transactions (1)
  Upgrade (2)
  Users (3)
Oracle APPS DBA-> (66)
Exadata (1)
Performance Tuning-> (59)
Oracle Real Cases (24)
Oracle Errors (23)
Oracle SQL tricks (32)
Oracle RAC (3)
Oracle Security (8)
Filters
Search